postgres中执行DELETE … LEFT/RIGHT JOIN
问题:有两张表 users, addrs,需要从users表中删除一些行,条件为在“addrs”表中没有对应id的行。
事实上很简单,只是个left join查询,SELECT a.*,'|' s,b.* FROM users a LEFT JOIN addrs b ON a.id=b.id;
,预览如下:
然而,postgres本身不支持 DELETE … LEFT JOIN … 这样的语句,这点不像MySQL那样方便。
有一个曲线救国方法:
把上面LEFT JOIN的结果表视为一张中间表,把原users表、按主键 inner join[……]