sql >> Database >  >> RDS >> Mysql

SQL:Sleutels selecteren die niet in één tabel voorkomen

We kunnen MYSQL niet in optie gebruiken.

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

Bewerkt

Als u de broncode uit een csv-bestand haalt dan kunt u deze waarden gewoon direct als volgt invoeren:

Ik ga ervan uit dat de CSV zijn als 1,2,3,...,n

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

BEWERK 2

Of als u andersom wilt selecteren, kunt u mysqlimport . gebruiken om gegevens in een tijdelijke tabel in MySQL Database te importeren en het resultaat op te halen en de tabel te verwijderen.

Vind ik leuk:

Tafel maken

CREATE TABLE my_temp_table(
   ids INT,
);

laad .csv-bestand

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

Records selecteren

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

tafel laten vallen

DROP TABLE IF EXISTS my_temp_table


  1. Updatequery's optimaliseren

  2. Datumtijd in PHP-script

  3. Woocommerce-bestellingen programmatisch bijwerken

  4. Microsoft Azure:wat het is en hoe uw bedrijf hiervan kan profiteren