SQL连接两个不符合条件的表

时间:2018-10-02 17:04:23

标签: sql join

我有一个拥有所有者的桌子和一个拥有汽车的桌子,我想将这两个表合并在一起,以显示所有没有“福特”或“道奇”汽车的所有者,包括那些没有车。所有者可以拥有多辆汽车。我将如何构造此查询?谢谢

Rik

2 个答案:

答案 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