SQL 자격검정 실전문제 

    87번 문제

     

    TAB1

    C1 C2 C3
    1   A
    2 1
    3 1 C
    4 2 D

    SQL

    SELECT C3
    FROM TAB1
    START WITH C2 IS NULL
    CONNECT BY PRIOR C1 = C2
    ORDER SIBLINGS BY C3 DESC

    1. START WITH

    START WITH C2 IS NULL 

    => C2가 NULL인 값이 시작 값 

     

    1 . NULL . A

     

    결과

    A

     

    2. CONNECT BY PRIOR C1 = C2, ORDER SIBLINGS BY C3 DESC

    CONNECT BY PRIOR C1 = C2

    PRIOR (이전에) 있는 C1의 값이 C2와 같은 것

    => PRIOR (이전에) 있는 C1의 값 => C3 A의 C1에 있는 값 1

    C2가 1인 ROW를 찾아라  => C3의 B, C3의 C

     

    찾은 값 

    2 . 1 .

    3 . 1 .

     

    ORDER SIBLINGS BY C3 DESC

    같은 레벨(같은 C2값 때문)에 있을 경우 C3를 기준으로 내림차순(높은값(C)->낮은값(B))

     

    결과

    A

    C

    B

     

    3. PRIOR

    PRIOR (이전에) 있는 C1의 값이 C2와 같은 것

    => PRIOR (이전에) 있는 C1의 값 => C3 B의 C1에 있는 값 2

    C2가 2인 ROW를 찾아라 => C3의 D

     

    결과

    A

    C

    B

    D

     

     

     

     

    정렬 순서상 2번째 표시될 값을 구한다.

    답 : C

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기
    loading