본문 바로가기

자격증/SQLD

[SQLD] 강의 25~27. 계층형&트리구조, PIVOT형태, 정규표현식

 

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