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

SQL:*異なる*行の値に基づいて行を選択するための代替手段ではありませんか?

    このように:

    SELECT a.name, a.team
    FROM bowlers a
    LEFT OUTER JOIN bowlers b ON a.name = b.name AND b.team = 'pin pals'
    WHERE a.team = 'The homer team'
    AND b.name IS NULL;
    

    次のようにすることもできます:

    SELECT a.name, a.team
    FROM bowlers a
    WHERE a.team = 'The homer team'
    AND NOT EXISTS (SELECT * FROM bowlers b
        WHERE b.team = 'pin pals'
        AND a.name = b.name
        );
    

    ちなみに、これは「左アンチセミジョイン」と呼ばれています。



    1. MySQL:インラインサブクエリから複数の列を返す

    2. ON条件なしでmysqlJOINを使用するにはどうすればよいですか?

    3. SQLiteOpenHelperを使用してAndroidでsqliteデータベースをアタッチする

    4. 距離クエリ内のMysql