sql >> Databasteknik >  >> RDS >> Mysql

SQL:Välj nycklar som inte finns i en tabell

Vi kan inte använda MYSQL som alternativ.

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

Redigerad

Om du hämtar källan från en csv-fil då kan du helt enkelt behöva sätta dessa värden direkt som:

Jag antar att CSV är som 1,2,3,...,n

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

REDIGERA 2

Eller om du vill välja tvärtom kan du använda mysqlimport att importera data i en temporär tabell i MySQL Database och hämta resultatet och ta bort tabellen.

Gilla:

Skapa tabell

CREATE TABLE my_temp_table(
   ids INT,
);

ladda in .csv-fil

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

Välja poster

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

släppbord

DROP TABLE IF EXISTS my_temp_table


  1. SQLite JSON()

  2. Hur lägger jag till varje rad i MySQL?

  3. Fråga för att välja strängar som slutar med ett visst tecken

  4. Hur man kontrollerar MySQL-databas och tabellstorlekar