sql >> Databáze >  >> RDS >> Mysql

SQL:Vyberte klíče, které neexistují v jedné tabulce

Můžeme použít MYSQL, který není ve volbě.

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

Upraveno

Pokud získáváte zdroj ze souboru csv pak můžete jednoduše zadat tyto hodnoty přímo jako:

Předpokládám, že CSV jsou jako 1,2,3,...,n

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

UPRAVIT 2

Nebo chcete-li zvolit opačný postup, můžete použít mysqlimport importovat data do dočasné tabulky v databázi MySQL a načíst výsledek a smazat tabulku.

Jako:

Vytvořit tabulku

CREATE TABLE my_temp_table(
   ids INT,
);

načíst soubor .csv

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

Výběr záznamů

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

rozkládací tabulka

DROP TABLE IF EXISTS my_temp_table


  1. Proč MySQL nepoužívá žádný z těchto možných klíčů?

  2. Migrace SQL Server 2008 R2 na MySQL

  3. Jak provést stránkování pro data JSON v PHP?

  4. Nastavení NLS_NUMERIC_CHARACTERS pro desetinné místo