SQL DELETE from 语句
现有表A,表B.都有一列GUID现在要删除表A中有GUID这个值,但是在表B中不存在这个值的最简SQL语句...
现有表A,表B.都有一列GUID
现在要删除表A中有GUID这个值,但是在表B中不存在这个值的最简SQL语句 展开
现在要删除表A中有GUID这个值,但是在表B中不存在这个值的最简SQL语句 展开
展开全部
delete from A left join B on A.GUID=B.GUID where B.GUID is null
不考虑性能就用IN咯,比上一条要短一点
delete from A where GUID not in (select GUID from B)
不考虑性能就用IN咯,比上一条要短一点
delete from A where GUID not in (select GUID from B)
追问
delete from 订单_主表 LEFT OUTER JOIN 订单_明细表 on 订单_主表.GUID=订单_明细表.GUID where 订单_明细表.GUID is null
这样写 在SQL2014中提示 LEFT处错误
delete from A where GUID not in (select GUID from B)
这样写 应该 要删除数据的,但其实没有删除数据
追答
SQL2014可能不支持LEFT OUTER JOIN 了,你还是改成LEFT JOIN 吧
第二条语句没有删除数据,可能说明A表里的数据B表都有
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询