Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz z jednej tabeli, gdzie nie w innej

Rozwijając się na anti-join Sjoerd, możesz również użyć łatwego do zrozumienia SELECT WHERE X NOT IN (SELECT) wzór.

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

Pamiętaj, że wystarczy użyć ` backticks na słowach zastrzeżonych, nazwach ze spacjami itp., a nie przy normalnych nazwach kolumn.

W MySQL 5+ tego rodzaju zapytania działają dość szybko.
W MySQL 3/4 jest wolne.

Upewnij się, że masz indeksy w odpowiednich polach
Musisz mieć indeks na pm.id , pd.part_num .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL dzieli ciąg znaków oddzielonych przecinkami na tabelę temp

  2. Wybierz kolumny w różnych bazach danych

  3. Słowo kluczowe LIMIT na MySQL z przygotowaną instrukcją

  4. Eksportuj bazę danych MySQL/MariaDB

  5. Jak przerwać operację INSERT w wyzwalaczu MySql?