如果我有一张带有1对多联合表“乘客”的“汽车”表,我如何删除所有没有一名或多名名为“吉姆”的乘客的车?
如果它更简单,它们是静态数量的其他乘客名称。我们只说“Peggy”,“Maggy”和“Sue”。听起来不是那么难,但我无法理解我的生活。提前谢谢!
答案 0 :(得分:2)
单程,NOT EXISTS
:
DELETE c FROM Cars c
WHERE NOT EXISTS
(
SELECT 1 FROM Passengers p
WHERE p.Name = 'Jim'
AND p.CarID = c.ID
)
假设CarID
是外键,ID
是汽车的主键。