実際、 aleft join
はのすべてを提供しますjobsortedusers
。次に、その中のすべてmembers
も にありjobsortedusers
ます。
左外部結合の順序を逆にして、代わりにこれを実行したいようです:
select *
from membership.members as mm
left outer join jobsorted.jobsortedusers as js
on mm.memberid = js.memberid
これにより、すべてが に取得されmembers
、その中のすべてjobsortedusers
も に含まれmembers
ます。すべてのユーザーがメンバーでもあると言うように、このクエリはすべてを返します。
これを読むことを強くお勧めします。これは結合について非常によく説明しています。
新しい質問に答えるには、jobsortedusers
IDがnullのすべてが必要です。つまり、
select mm.* -- every other column will be null
from membership.members as mm
left outer join jobsorted.jobsortedusers as js
on mm.memberid = js.memberid
where js.memberid is null
何に参加すればよいかわかりませんtrade
が、このテーブルにもユーザー テーブルにもないものをすべて取得するには、次のようなものが必要です。
select mm.* -- every other column will be null
from membership.members as mm
left outer join jobsorted.jobsortedusers as js
on mm.memberid = js.memberid
left outer join trade t
on mm.memberid = t.memberid
where js.memberid is null
and t.memberid is null