Mysql
 sql >> база данни >  >> RDS >> Mysql

Изберете от една таблица, където не в друга

Разширявайки антиприсъединяването на Sjoerd, можете също да използвате лесния за разбиране SELECT WHERE X NOT IN (SELECT) модел.

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

Имайте предвид, че трябва да използвате само ` връщане назад към запазени думи, имена с интервали и други подобни, а не с нормални имена на колони.

На MySQL 5+ този вид заявка работи доста бързо.
На MySQL 3/4 е бавно.

Уверете се, че имате индекси на въпросните полета
Трябва да имате индекс на 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 MOD() – Извършване на модулна операция в MySQL

  2. INSERT ... НА ДУБЛИКАТ КЛЮЧ (не правете нищо)

  3. Заявката за изтриване не работи в mysql

  4. Как версирате вашата схема на база данни?

  5. Производителност на MySQL IN оператор върху (голям?) брой стойности