我有一个拥有所有者的桌子和一个拥有汽车的桌子,我想将这两个表合并在一起,以显示所有没有“福特”或“道奇”汽车的所有者,包括那些没有车。所有者可以拥有多辆汽车。我将如何构造此查询?谢谢
Rik
答案 0 :(得分:1)
您可以使用NOT EXISTS
:
SELECT o.*
FROM owners o
WHERE NOT EXISTS (SELECT 1 FROM cars c WHERE c.carid = o.carid AND c.make in ('ford', 'dodge'));
答案 1 :(得分:1)
尝试一下
SELECT o.*
FROM owners o
LEFT JOIN cars c ON c.ownerid = o.id AND c.make in ('ford', 'dodge')
WHERE c.id IS NULL