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

fms*_*msf 5 sql

我怎么做:

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

为了详细说明,我怎么能删除一行id = 1,从表中foo,仅如果没有在表中的一行barid = 1.

Ned*_*der 19

DELETE FROM foo WHERE id=1 AND NOT EXISTS (SELECT * FROM bar WHERE id=1)
Run Code Online (Sandbox Code Playgroud)

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


Nat*_*erl 11

使用连接:

delete f
from   foo f
left
join   bar b on
       f.id = b.id 
where  f.id = 1 and
       b.id is null
Run Code Online (Sandbox Code Playgroud)