inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

not in 사용법과 관련하여 질문드립니다.

199

데잇걸즈4기_김한나

작성한 질문수 1

1

안녕하세요! 좋은 강의 감사드립니다.

Binary Tree Nodes와 관련한 질문이 있습니다.

저는 BST 테이블의 node 중 parent가 아닌 node만 (leaf만) 뽑고 싶어서 아래와 같은 코드를 실행했는데 에러가 뜹니다. 

SELECT N FROM BST

WHERE N NOT IN (SELECT DISTINCT P from BST)

NOT IN이 아닌 IN으로 실행하면 코드가 잘 돌아갑니다. 

NOT IN이라는 문법을 제가 잘못 사용하고 있는 건지 궁금합니다.

그리고 제가 의도대로 데이터를 뽑으려면 어떤 구문을 써야 하는지도 궁금합니다. 

sql

답변 2

1

지식공유자 J

문제의 Sample Input을 예시로 설명 드리겠습니다.

SELECT N FROM BST WHERE N NOT IN (SELECT DISTINCT P from BST) 

위 쿼리를 실행하면 N을 하나하나씩 2, 5, 8, Null과 비교해서 N!=2, N!=5, N!=8, N!=null, 이 4가지 연산 모두 True 값을 반환하는 경우에만 N이 출력됩니다. 

그런데 null과의 비교연산에서는 True도 False도 아닌 Unknown 값을 반환하게 되므로, 어떤 N도 N!=null 을 통과하지 못합니다.

WHERE P IS NOT NULL 조건을 넣어주면 N과 null의 비교연산을 하지 않아도 되니 N!=2, N!=5, N!=8, 이렇게 3가지 조건을 모두 만족하는 값들이 출력됩니다.



아래에 유사한 질문과 답변이 있으니 참고 바랍니다.

https://www.inflearn.com/questions/92482

1

데잇걸즈4기_김한나

P 컬럼에 null 값이 있어서 실행이 안됐던 것 같네요. 

SELECT N

FROM BST

WHERE N NOT IN (SELECT DISTINCT P from BST WHERE P IS NOT NULL)

WHERE 조건을 넣어주니 잘 돌아갑니다. 그런데 왜 NOT NULL 조건을 명시해줘야 하는지는 모르겠습니다...ㅠㅠ

섹션 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