Binary Tree 질문
212
작성한 질문수 2
안녕하세요 아래와 같이 Binary Tree 문제를 풀었는데,
Leaf가 output 으로 나오지 않아서 혹시 이유를 알 수 있을지 문의 드립니다. ㅠ
/*
[목표]
- N, node type (Root, Leaf, Inner)
- order by value of node
[테이블]
- BST : N, P
[계획]
- 조건문을 통해서 Root, Leaf, Inner 파악
Root : 부모 가 Null
Inner : 부모와 자식이 둘다 있음
Leaf : 부모만 있음
-(case
when P is Null then 'Root'
N에는 존재하는데, P에는 없는 값 = Leaf
else 'Inner'
end) as type
*/
select
N,
(case when P is Null then 'Root'
when N not in (select P from BST) then 'Leaf'
else 'Inner'
end) as type_N
from BST
order by N asc
답변 1
3
문제의 Sample Input을 예시로 설명 드리겠습니다.
작성하신 쿼리 중 when N not in (select P from BST) then 'Leaf' 부분에 의하면,
N!=2, N!=5, N!=8, N!=null 이 모두 True 값을 반환할 때 'Leaf'가 됩니다.
그런데 null과의 비교연산에서는 True도 False도 아닌 Unknown 값을 반환하게 됩니다.
위의 4가지 조건 중 True가 되지 못한 것이 있으므로 'Leaf' 값을 가지지 못하고,
CASE 문 안의 다음 조건인 else 'Inner'로 넘어가 'Inner' 값이 나오게 됩니다.
섹션 4번에 2번 문제 질문입니다.
0
100
2
4번 문제
0
78
1
Top competitors 에서 having count(h.hacker_id)로 해도 되나요?
0
255
1
leetcode 620 group by 질문이요
0
198
2
강의 일시정지/ 기간연장 검토 요청
0
376
1
4번 문제 group by 질문
0
315
2
세트2 4번 문제풀이 해설에 관한 질문
0
346
2
Weather Observation Station 11_ not like 사용
0
263
1
Placements에서 LEFT JOIN 뒤에 ON 조건
0
279
1
Set2 4번문제 질문 - New Companies
0
312
1
WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?
-1
698
1
as 2 space-separated values. 무슨 말인가요???
0
426
1
Weather observation Station 11 관련 질문
1
368
2
4번문제풀이
0
449
1
섹션3. Weather Observation Station 18 문제 관련
0
367
2
섹션 2에 1,2번 문제풀이 관하여
0
427
1
기한연장문의
0
326
1
Weather observation station 11 문제 not like
-1
358
1
inner join 과 left join
1
591
1
4번 BST 문제 틀리는 이유
0
337
1
4번 문제 질문
0
285
1
620. Not Boring Movies 문제 질문드립니다
0
279
1
binary tree 질문 입니다.
0
292
1
Top Competitors 질문있습니다 ㅠㅠ
0
239
1





