sql >> Databáze >  >> RDS >> Mysql

Vyberte z jedné tabulky, kde v jiné ne

Rozšířením o Sjoerd's anti-join můžete také použít snadno pochopitelný SELECT WHERE X NOT IN (SELECT) vzor.

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

Všimněte si, že musíte použít pouze ` zpětné zaškrtnutí vyhrazených slov, názvy s mezerami a podobně, nikoli s normálními názvy sloupců.

Na MySQL 5+ tento druh dotazu běží docela rychle.
Na MySQL 3/4 je pomalý.

Ujistěte se, že máte pro dotyčná pole indexy
Musíte mít index na pm.id , pd.part_num .



  1. MySQL – Počkejte několik sekund pomocí SELECT SLEEP()

  2. Vyberte MySQL s podmínkou CONCAT

  3. Jak UUID_SHORT() funguje v MariaDB

  4. Změna posunu časového pásma na hodnotě datetimeoffset na serveru SQL Server (T-SQL)