このように完全な外部結合を単純に記述できる場合、左結合(またはさらに言えば内部結合)の使用は何ですか?
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;
これにより、INNERJOINが返すのと同じ結果がすべて返されます。
これはちょっと面白いと思っただけだと思います。私は当初、左外部結合がnull +条件が一致したものを返すと誤解していましたが、条件が一致する必要があることがわかりました。これは、この内部結合のように、一致するレコードが削除されるためです(おそらく、式の一致の前に結合が行われるため、 .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;
後で、ディーン