当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在SQL中,如果一个表中没有相应的行,如何从一个表中删除一行?》经验,为你挑选了2个好方法。

我怎么做:

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

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



1> Ned Batcheld..:
DELETE FROM foo WHERE id=1 AND NOT EXISTS (SELECT * FROM bar WHERE id=1)

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



2> Nathan Skerl..:

使用连接:

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

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有