MySQL从表中选择其他表中不存在的值

时间:2018-12-25 00:26:27

标签: mysql sql

我需要一个SQL查询来从一个表中选择一个值,而该表在另一个表中没有特定条目。例如,考虑客户表和客户商店表:

客户

Id   Name
1    Steve
2    John
3    Bob

客户商店

CustomerId Item
1          Kiwi
1          Apple
2          Kiwi
2          Banana
3          Banana
3          Apple

我需要一个mysql查询,以便在customershop表中查找没有猕猴桃的客户时可以返回Bob。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

正如您的问题标题所述,请使用NOT EXISTS和相关的子查询。

SELECT *
       FROM customers c
       WHERE NOT EXISTS (SELECT *
                                FROM customershop s
                                WHERE s.customerid = c.id
                                      AND s.item = 'Kiwi');