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

別のテーブルにないテーブルから選択する

    Sjoerdの反結合を拡張して、わかりやすいSELECT WHERE X NOT IN (SELECT)を使用することもできます。 パターン。

    SELECT pm.id FROM r2r.partmaster pm
    WHERE pm.id NOT IN (SELECT pd.part_num FROM wpsapi4.product_details pd)
    

    `のみを使用する必要があることに注意してください 通常の列名ではなく、予約語、スペースを含む名前などのバッククォート。

    MySQL 5+では、この種のクエリはかなり高速に実行されます。
    MySQL3/4では低速です。

    問題のフィールドにインデックスがあることを確認してください
    pm.idにインデックスが必要です 、pd.part_num



    1. SQL Server(T-SQL)で高度なサーバー構成オプションを表示する

    2. MySQLのCONCATでGROUP_CONCATを使用する方法

    3. Oracle:DDLとトランザクションのロールバック

    4. ネストされたクラス-CustomRowMapper!!もう問題ありません!! - パート1