sql >> Database teknologi >  >> RDS >> Mysql

SQL:Vælg nøgler, der ikke findes i én tabel

Vi kan ikke bruge MYSQL.

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

Redigeret

Hvis du henter kilden fra en csv-fil så kan du simpelthen nødt til at sætte disse værdier direkte som:

Jeg antager, at CSV'erne er som 1,2,3,...,n

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

REDIGERING 2

Eller hvis du vil vælge den anden vej rundt, kan du bruge mysqlimport at importere data i midlertidig tabel i MySQL Database og hente resultatet og slette tabellen.

Ligesom:

Opret tabel

CREATE TABLE my_temp_table(
   ids INT,
);

indlæs .csv-fil

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

Valg af poster

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

faldebord

DROP TABLE IF EXISTS my_temp_table


  1. Oprettelse af midlertidige tabeller i MySQL Stored Procedure

  2. SQLAlchemy ingen adgangskode angivet fejl

  3. Hvordan hash adgangskoder i MySQL?

  4. Sådan laver du joinforespørgsler ved hjælp af Sequelize på Node.js