1

我有一个article.cat_id链接到的数据库category.id

我从中删除了几行category,现在我想从article该链接中选择或删除所有行到不存在的idin中。category不幸的是,我不完全知道哪些ids 已被删除。

是否有一种 SQL 方法来检查是否返回articlecategory.id等于的所有行article.cat_id

4

3 回答 3

2

例如

SELECT * FROM Table_1 where Table_1.ID not in (SELECT Table_2.ID FROM Table_2)

内部选择它将选择表 2 中的所有 ID,而外部选择它将基于返回的行,其中 ID 在表 2 中不存在

于 2013-06-01T09:10:59.663 回答
1
DELETE a.*
FROM article a
LEFT JOIN category c
ON a.cat_id = c.id
WHERE c.id IS NULL

更改DELETESELECTfirst 以确保它是您想要的。

于 2013-06-01T09:11:08.897 回答
0
delete a
from article a
left outer join category c on c.id = a.cat_id
where c.id is null
于 2013-06-01T09:11:11.760 回答