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

mySQL'ここで名前NOTIN'が機能していませんか?

    NOT INは使用しないでください サブクエリ付き。サブクエリの値がNULLの場合、セマンティクスが間違っています。 。その場合、NOT IN TRUEと評価されることはないため、行はまったく返されません。

    代わりに、NOT EXISTSを使用してください :

    SELECT p.id, p.name
    FROM players p
    WHERE p.this = 1 AND 
          NOT EXISTS (SELECT 1
                      FROM players_online po
                      WHERE po.name = p.name AND po.this = 'that'
                     )
    ORDER BY RAND()
    LIMIT 3, 6;
    



    1. flywaycleanはスケジューラージョブまたはプログラムをドロップしていません

    2. SQLキー、MUL vs PRI vs UNI

    3. 2つのテーブルから別々の行を選択し、日付順に並べます

    4. MySQLでキャッシュされたクエリを一覧表示する方法は? (Qcache_queries_in_cache)