[leetcode][sql] Null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Q4. Find Customer Referee
Easy
Topics
premium lock icon
Companies
Hint
SQL Schema
Pandas Schema
Table: Customer
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| id | int |
| name | varchar |
| referee_id | int |
+-------------+---------+
In SQL, id is the primary key column for this table.
Each row of this table indicates the id of a customer, their name,
and the id of the customer who referred them.
Find the names of the customer that are either:
referred by any customer with id != 2.
not referred by any customer.
Return the result table in any order.
The result format is in the following example.
Example 1:
Input:
Customer table:
+----+------+------------+
| id | name | referee_id |
+----+------+------------+
| 1 | Will | null |
| 2 | Jane | null |
| 3 | Alex | 2 |
| 4 | Bill | null |
| 5 | Zack | 1 |
| 6 | Mark | 2 |
+----+------+------------+
Output:
+------+
| name |
+------+
| Will |
| Jane |
| Bill |
| Zack |
+------+
NULL 처리를 놓치지 않아야 하는 문제
2가 아닌 다른 사람이 추천: referee_id != 2 추천인이 없음: referee_id IS NULL
NULL != 2 는 FALSE가 아니라 UNKNOWN 그런데 WHERE절에서 UNKNOWN은 FALSE로 취급됨. SELECT에서 배제됨.
1
2
3
4
5
# Write your MySQL query statement below
SELECT name
FROM Customer
WHERE referee_id != 2 OR referee_id IS NULL;
#leetcode #sql #null처리
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.