4.6 계층형 질의와 셀프 조인
- 계층형 질의 예제 해설
* 트리구조를 먼저 이해해야함.
* START WITH : root 노드 지정.
* CONNECT BY : 부모-자식 노드 연결 지정.
- CONNECT BY PRIOR 자식 = 부모 : 순방향전개(부모 -> 자식) 프 - 자 - 부 - 순
- CONNECT BY PRIOR 부모 = 자식 : 역방향전개(자식 -> 부모) 프 - 부 - 자 - 역
* ORDER SIBLINGS BY : 동일한 레벨(형제노드)에서의 정렬.
*** 부모<->자식으로 정렬한(순/역) 이후, 자식노드끼리 정렬(ASC/DESC).
4.7 PIVOT절과 UNPIVOT절
- PIVOT, UNPIVOT
컬럼을 기준으로 여러 개의 행으로 나뉜 데이터를 행과 열을 전환해 테이블을 재구성하여 보기 편하도록 만드는 것.
* PIVOT
행을 열로 바꾼다. 지정된 컬럼의 각 행 속성값들이 새로운 컬럼 헤더가 되고,
이에 맞게 전체 속성값들이 재배치된다.
* UNPIVOT
PIVOT과 반대로 열을 행으로 바꾼다. 컬럼 헤더들이 한 컬럼의 각 행 속성값이 되고,
이에 맞게 전체 속성값들이 재배치된다.
데이터의 형태변경을 위해 필요.
(가시성이 좋은 데이터 형태 <--> 집계함수를 사용할 수 있는 데이터 형태)
** PIVOT절은 내부적으로 첫 번째 컬럼에 대한 GROUP BY 연산 수행을 포함.
4.8 정규표현식
- 정규표현식이란?
- SQL에서의 정규표현식
* 정규표현식 메타문자
문자 그 자신이 가진 의미가 아니라 다른 의미로 사용되는 문자.
ex) 정규표현식에서 사용되는 '^'문자는 '^'문자 그 자체가 아닌 입력 문자열의 시작을 의미.
* 정규표현식 리터럴 문자
문자 그 자체가 가진 의미 그대로 사용되는 문자로, 정규표현식에서 패턴 매칭을 수행할 때 처리되는 최소 단위.
ex) 알파벳의 경우 'a', 'A', 한글의 경우에는 '가', '나' 등 한 음절의 한 개 문자.
** Oracle vs SQL Server 정규식 지원 차이
https://www.youtube.com/watch?v=4ygIqSkcU6c&list=PLDI0745yTBjXFuIFYqq3vzcQYuVyajFpC&index=25
https://www.youtube.com/watch?v=FINRIH6Bmq0&list=PLDI0745yTBjXFuIFYqq3vzcQYuVyajFpC&index=26
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 연습문제 (SQL활용) (0) | 2025.03.06 |
---|---|
[SQLD] 연습문제 (SQL기본) (0) | 2025.02.27 |
[SQLD] 강의 14~16. WHERE절, GROUP BY절, JOIN (0) | 2025.02.06 |
[SQLD] 강의 12~13. SQL함수_TRIM, NULL함수 (0) | 2025.02.01 |
[SQLD] 강의 11. SELECT문 (0) | 2025.02.01 |