sql >> Database >  >> RDS >> Mysql

Kies uit de ene tafel waar niet in een andere

Voortbouwend op Sjoerd's anti-join, kun je ook gebruik maken van de eenvoudig te begrijpen SELECT WHERE X NOT IN (SELECT) patroon.

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

Merk op dat u alleen ` . hoeft te gebruiken backticks op gereserveerde woorden, namen met spaties en dergelijke, niet met normale kolomnamen.

Op MySQL 5+ verloopt dit soort zoekopdrachten vrij snel.
Op MySQL 3/4 is het traag.

Zorg ervoor dat je indexen hebt voor de betreffende velden
Je moet een index hebben op pm.id , pd.part_num .



  1. Wijs resultaat van dynamische sql toe aan variabele

  2. pip install mislukt met /usr/bin/clang:Geen dergelijk bestand of map

  3. Wat is database-sharding?

  4. Samenvoegen..output gebruiken om toewijzing te krijgen tussen source.id en target.id