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

SQL:Изберете Ключове, които не съществуват в една таблица

Можем да използваме MYSQL, който не е в опция.

SELECT id
FROM table_one
WHERE id NOT IN ( SELECT id FROM table_two )

Редактирано

Ако получавате източника от csv файл тогава може просто да трябва да поставите тези стойности директно като:

Предполагам, че CSV са като 1,2,3,...,n

SELECT id
FROM table_one
WHERE id NOT IN ( 1,2,3,...,n );

РЕДАКТИРАНЕ 2

Или ако искате да изберете обратното, тогава можете да използвате mysqlimport да импортирате данни във временна таблица в MySQL база данни и да извлечете резултата и да изтриете таблицата.

Като:

Създаване на таблица

CREATE TABLE my_temp_table(
   ids INT,
);

заредете .csv файл

LOAD DATA LOCAL INFILE 'yourIDs.csv' INTO TABLE my_temp_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(ids);

Избиране на записи

SELECT ids FROM my_temp_table
WHERE ids NOT IN ( SELECT id FROM table_one )

изпускаща маса

DROP TABLE IF EXISTS my_temp_table


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Някой има ли сериозно доказателство, че CHAR е по-бърз от VARCHAR?

  2. Таймер за обратно отброяване-php+mysql+js

  3. Как да групирате по седмица в MySQL?

  4. MySQL Сортирайте по азбучен ред, но игнорирайте

  5. Проблем с извеждането на арабски текст в php mysql utf-8