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