반응형

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 not referred by the customer with id = 2.

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 |
+------+

이 문제는 자기 자신을 추천하지 않은 사람 또는 id가 2인 사람에게 추천받지 않은 고객을 찾는 문제입니다. 

SELECT name
FROM Customer
WHERE referee_id != 2 OR referee_id IS NULL;

 

  • referee_id != 2는 id 2가 추천하지 않은 사람
  • referee_id IS NULL은 추천인 없이 가입한 사람도 포함해야 하므로 필요합니다.

 

반응형
올리브한입