sql >> Base de Datos >  >> RDS >> Mysql

SQL:seleccione claves que no existen en una tabla

Podemos usar MYSQL no en la opción.

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

Editado

Si obtiene la fuente de un archivo csv entonces simplemente tienes que poner estos valores directamente como:

Supongo que los CSV son como 1,2,3,...,n

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

EDITAR 2

O si desea seleccionar al revés, puede usar mysqlimport para importar datos en una tabla temporal en la base de datos MySQL y recuperar el resultado y eliminar la tabla.

Me gusta:

Crear tabla

CREATE TABLE my_temp_table(
   ids INT,
);

cargar archivo .csv

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

Seleccionar registros

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

mesa auxiliar

DROP TABLE IF EXISTS my_temp_table