[SQL]CASE문과 BST(binary search tree)

언제 사용하지?🤔

  • 데이터 범주화(categorical variable)
  • 약어나 코드를 읽기 쉬운 값으로 변경해 줌

1. 형식

CASE 컬럼
	WHEN 조건1 THEN1
    WHEN 조건2 THEN2
    ELSE3
    END
  • 위의 형식 자체가 칼럼이 됨.(CASE~END)

Hackrrank- BST

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

회고😆

  • CASE WHEN 문을 활용하여 범주화.
  • if 문 제어하듯, 순서가 결과에 영향을 미칠 수 있으니 주의(Root의 경우 맨 먼저 조건을 걸어주어야 정답이 나옴)
  • 서브쿼리를 추가 활용하여 제어.

좋은 웹페이지 즐겨찾기