如何从父表中选择与子项

时间:2017-09-28 16:34:18

标签: mysql sql select

有两个表(Person和Car)通过子表中的外键相互关联。 Person表可以包含重复的人名。我需要从Person中选择所有没有任何汽车的唯一名称。换句话说,我必须检查哪些人没有车并选择它们。

2 个答案:

答案 0 :(得分:1)

您可以使用not exists运算符:

SELECT DISTINCT name
FROM   person p
WHERE  NOT EXISTS (SELECT * 
                   FROM   car c
                   WHERE  p.id = c.owner_id)

答案 1 :(得分:1)

这是许多可能的查询之一。

SELECT p.name 
FROM person p LEFT OUTER JOIN car c 
     ON p.id = c.id
WHERE c.id is NULL;