Mysql
 sql >> Database >  >> RDS >> Mysql

Seleziona da una tabella dove non in un'altra

Espandendo l'anti-join di Sjoerd, puoi anche utilizzare il facile da capire SELECT WHERE X NOT IN (SELECT) modello.

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

Nota che devi solo usare ` backtick su parole riservate, nomi con spazi e simili, non con nomi di colonne normali.

Su MySQL 5+ questo tipo di query viene eseguito abbastanza velocemente.
Su MySQL 3/4 è lento.

Assicurati di avere indici sui campi in questione
Devi avere un indice su pm.id , pd.part_num .