left outer join
を使用できます すべてのユーザーを取得するには、グループが接続されているユーザーを吹き飛ばします。次のクエリは、グループを持たないユーザーのリストのみを表示します:
select
u.*
from
users u
left outer join groupusers g on
u.userid = g.userid
where
g.userid is null
特定のグループに属さないすべてのユーザーを検索する場合:
select
u.*
from
users u
left outer join groupusers g on
u.userid = g.userid
and g.groupid = @GroupID
where
g.userid is null
これはのみ その特定のグループのユーザーを除外します。他のすべてのユーザーが返されます。これは groupid
条件は join
で行われました 結合され、返されない行を制限する句。これはwhere