sql >> データベース >  >> RDS >> Sqlserver

結合の逆を取得する

    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



    1. ScaleGridDBaaSの2要素認証の有効化

    2. IRIWorkbenchからリモートジョブを実行する方法

    3. 同時アクセス時にテーブル内の特定の行数をマークする方法

    4. 1つのSQLクエリに複数の行を挿入する方法–今週のインタビュー質問#069