CASE WHEN 서브쿼리

dorongpark·2024년 6월 10일
0

해커랭크(sql)

목록 보기
7/20

테이블 설명 :

1,3,6,9 = Leaf
2,8 = Inner
5 = Root

N은 value 컬럼이고 p는 n의 부모를 나타내는 값이다


  1. 첫번째 생각
    "조건에 따라 분류를 해야 하니 case when을 활용하자"

  2. 두번째 생각
    "조건에 따라 구별할때 가장 명확한 것 부터 제거 하자"

SELECT N,
CASE WHEN P IS NULL THEN "Root"
WHEN N NOT IN (SELECT P FROM BST WHERE P IS NOT NULL) THEN 'Leaf'
ELSE 'Inner' END
FROM BST
ORDER BY N

profile
야 너도 분석 할수 있어

0개의 댓글