在SQL中,如果一个表中没有相应的行,如何从一个表中删除一行?

时间:2008-11-05 01:08:57

标签: sql

我该怎么做:

DELETE FROM foo WHERE id = 1 AND bar不包含id == 1

详细说明,如果表id = 1中没有foo行,则如何从表bar中删除id = 1行。

3 个答案:

答案 0 :(得分:19)

DELETE FROM foo WHERE id=1 AND NOT EXISTS (SELECT * FROM bar WHERE id=1)

我假设你的意思是foo和bar是表格,你想要从foo中删除一条记录,如果它不存在于条形码中。

答案 1 :(得分:11)

使用联接:

delete f
from   foo f
left
join   bar b on
       f.id = b.id 
where  f.id = 1 and
       b.id is null

答案 2 :(得分:0)

使用SQL“存在”命令。

http://www.techonthenet.com/sql/exists.php