1

如果我有一个带有一对多连接表“Passengers”的表“Cars”,我如何删除所有没有一个或多个名为“Jim”的乘客的汽车?

如果它更简单,它们就是其他乘客姓名的静态数量。我们只说“Peggy”、“Maggy”和“Sue”。听起来并不难,但我无法为我的一生弄清楚。提前致谢!

4

1 回答 1

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是 Cars 中的主键。

于 2013-06-29T20:51:54.687 回答