세모이
개발 계발
세모이
전체 방문자
오늘
어제
  • 분류 전체보기 (83)
    • 알고리즘 (1)
    • 자바스크립트 (29)
    • 리액트 (10)
    • HTML&CSS (2)
    • TIL (26)
    • 파이썬 (8)
    • Dev (1)
    • 데일리 (3)
      • 2023 (3)
    • 에러일기 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 함수
  • 자바스크립트 생성자 함수에 의한 객체 생성
  • 자바스크립트 전역 변수의 문제점
  • &&연산자
  • html 신기한 태그
  • 자바스크립트
  • 개발자 도구 Network
  • 자바스크립트 함수와 일급 객체
  • 모던 자바스크립트
  • 옵셔널 체이닝
  • const let 키워드와 블록레벨 스코프
  • 자바스크립트 빌트인 객체
  • 모던 자바스크립트 deep dive
  • 모던 자바스크립트 deep deive
  • 시멘틱 태그
  • 리액트 key
  • 자바스크립트 strict mode
  • 자바스크립트 깊은 복사 얕은 복사
  • 자바스크립트 프로토타입
  • 자바스크립트 프로퍼티 어트리뷰트

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
세모이

개발 계발

데일리/2023

[SQL] START WITH, CONNECT BY, PRIOR, ORDER SIBLINGS BY

2023. 11. 10. 21:55
반응형

START WITH, CONNECT BY, PRIOR, ORDER SIBLINGS BY

table TAB1

C1 C2 C3
1 A
2 1 B
3 1 C
4 2 D
SELECT C3
FROM TAB1
START WITH C2 IS NULL
CONNECT BY PRIOR C1 = C2
ORDER SIBLINGS BY C3 DESC

result

C3
A
C
B
D

START WITH C2 IS NULL : 시작점을 정의. 여기서 시작점은 C2가 NULL인 행.

CONNECT BY PRIOR C1 = C2 : CONNECT BY 절은 부모와 자식 사이의 계층 구조를 정의 여기서는 현재 행의 C1 값이 이전 행의 C2 값과 일치하는 경우 연결된다.

ORDER SIBLINGS BY C3 DESC : ORDER SIBLINGS BY 절은 동일한 부모를 가진 형제 노드들 간의 정렬 순서를 정의. 여기서는 C3 열을 내림차순으로 정렬.

이해안감

레벨1이

C1=1, C2=NULL, C3='A'

레벨 2:

C1 값이 1인 행과 C2 값이 1인 행은 연결. PRIOR C1 = C2가 성립하는 경우를 찾는다고 설명

C1=2, C2=1, C3='B'
C1=3, C2=1, C3='C'

이들은 레벨 2에 한다는데 첫번째행 c1=1과 나머지 행중 c2=1인걸 찾는다는거인거 같음

레벨 3:

그럼 위에 이어서 c1=2인거?

C1 값이 2인 행과 C2 값이 2인 행은 연결 즉, PRIOR C1 = C2가 성립하는 경우를 찾는데

C1=4, C2=2, C3='D'

이 행은 레벨 3에 속한다

반응형

'데일리 > 2023' 카테고리의 다른 글

[SQL] 데이터 모델링, 엔터티, 식별자  (0) 2023.11.13
[SQL] 중첩집계함수, SQL 실행순서, 이너조인, 아우터조인  (0) 2023.11.09
    '데일리/2023' 카테고리의 다른 글
    • [SQL] 데이터 모델링, 엔터티, 식별자
    • [SQL] 중첩집계함수, SQL 실행순서, 이너조인, 아우터조인
    세모이
    세모이
    개발 공부!

    티스토리툴바