584_Find Customer Referee

[easy]

Given a tablecustomerholding customers information and the referee.

+------+------+-----------+
| id   | name | referee_id|
+------+------+-----------+
|    1 | Will |      NULL |
|    2 | Jane |      NULL |
|    3 | Alex |         2 |
|    4 | Bill |      NULL |
|    5 | Zack |         1 |
|    6 | Mark |         2 |
+------+------+-----------+

Write a query to return the list of customers NOT referred by the person with id '2'.

For the sample data above, the result is:

+------+
| name |
+------+
| Will |
| Jane |
| Bill |
| Zack |
+------+

Solution:

The trap here is only specify referee_id != 2 in where clause. Then the rows corresponding to NULL id won't show up.

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

Last updated