inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이

4번 문제 풀이

binary tree 질문 입니다.

296

anstmdcks12

작성한 질문수 3

0

SELECT distinct(bs.n)

,CASE

WHEN bst.p IS NULL THEN "Root"

WHEN bst2.p IS NULL THEN "Leaf"

ELSE "Inner"

END

FROM bst

LEFT JOIN bst bst2 ON bst.n = bst2.p

ORDER BY bst.n

 

영상에서 푸실 떄는 WHEN 두번째 조건에서 bst2.n IS NULL 이렇게 푸셨는데

위와 같이 bst2.p IS NULL 일때도 정답이라고 나오는데 같은 건가요?

sql

답변 1

0

지식공유자 J

네, bst2.p IS NULL으로 조건을 주셔도 동일한 값이 나옵니다.

LEFT JOIN으로 인해 bst2에서 온 컬럼들이 모두 NULL값인 row들이 생기므로,
bst2.n이 NULL인 row의 bst2.p 역시 NULL입니다.

bst2.p IS NULL이라는 조건은 bst2.n IS NULL과 동일한 의미가 됩니다.

아래 쿼리를 돌려보시면 더 쉽게 이해하실 수 있을 거에요.

SELECT bst.n, bst.p, bst2.n, bst2.p
FROM bst
    LEFT JOIN bst bst2 ON bst.n = bst2.p

 

섹션 4번에 2번 문제 질문입니다.

0

103

2

4번 문제

0

82

1

Top competitors 에서 having count(h.hacker_id)로 해도 되나요?

0

258

1

leetcode 620 group by 질문이요

0

202

2

강의 일시정지/ 기간연장 검토 요청

0

379

1

4번 문제 group by 질문

0

318

2

세트2 4번 문제풀이 해설에 관한 질문

0

353

2

Weather Observation Station 11_ not like 사용

0

266

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

282

1

Set2 4번문제 질문 - New Companies

0

315

1

WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?

-1

702

1

as 2 space-separated values. 무슨 말인가요???

0

429

1

Weather observation Station 11 관련 질문

1

372

2

4번문제풀이

0

453

1

섹션3. Weather Observation Station 18 문제 관련

0

372

2

섹션 2에 1,2번 문제풀이 관하여

0

432

1

기한연장문의

0

329

1

Weather observation station 11 문제 not like

-1

363

1

inner join 과 left join

1

594

1

4번 BST 문제 틀리는 이유

0

343

1

4번 문제 질문

0

288

1

620. Not Boring Movies 문제 질문드립니다

0

286

1

Top Competitors 질문있습니다 ㅠㅠ

0

245

1

set4. 4번

0

319

1