如果可以像这样简单地编写完整的外连接,那么左连接(或者甚至可能是内连接)有什么用
playorm=# select * from trade as a full outer join Account as b on b.id=a.accoun
tid where a.id = a.id;
这最终返回了 LEFT 内连接将返回的所有相同结果。
或者如果你想要一个内部连接,你可以这样做
playorm=# select * from trade as a full outer join Account as b on b.id=a.accoun
tid where a.id = a.id AND b.id = b.id;
这最终返回了 INNER JOIN 将返回的所有相同结果。
我只是觉得这很有趣。我最初误以为左外连接会返回空值+条件匹配但发现条件必须匹配,这有点奇怪,因为在这个内连接中消除了匹配的记录(可能是因为连接是在表达式匹配之前完成的,所以.accountid 为 null 是 where 子句的无用部分......
select * from trade as a inner join Account as b on b.id=a.accountid
here (b.isActive=false OR a.accountid is null) and a.number < 15;
后来,迪恩