Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie aus einem Tisch aus, wo nicht in einem anderen

Als Erweiterung von Sjoerds Anti-Join können Sie auch das leicht verständliche SELECT WHERE X NOT IN (SELECT) verwenden Muster.

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

Beachten Sie, dass Sie nur ` verwenden müssen Backticks bei reservierten Wörtern, Namen mit Leerzeichen und dergleichen, nicht bei normalen Spaltennamen.

Auf MySQL 5+ läuft diese Art von Abfrage ziemlich schnell.
Auf MySQL 3/4 ist sie langsam.

Stellen Sie sicher, dass Sie Indizes für die betreffenden Felder haben
Sie müssen einen Index für pm.id haben , pd.part_num .