Mysql
 sql >> Baza danych >  >> RDS >> Mysql

SQL:Wybierz klucze, które nie istnieją w jednej tabeli

Możemy użyć MYSQL nie w opcji.

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

Edytowane

Jeśli pobierasz źródło z pliku csv wtedy możesz po prostu umieścić te wartości bezpośrednio, tak jak:

Zakładam, że CSV to 1,2,3,...,n

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

EDYTUJ 2

Lub jeśli chcesz wybrać inny sposób, możesz użyć mysqlimport aby zaimportować dane z tymczasowej tabeli w bazie danych MySQL i pobrać wynik oraz usunąć tabelę.

Na przykład:

Utwórz tabelę

CREATE TABLE my_temp_table(
   ids INT,
);

załaduj plik .csv

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

Wybieranie rekordów

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

stół do upuszczania

DROP TABLE IF EXISTS my_temp_table


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. usuwanie encji kaskadowo nie działających w relacji ManyToMany

  2. Czy można utworzyć kolumnę z domyślną wartością UNIX_TIMESTAMP w MySQL?

  3. Pobieranie wierszy w tabeli bazy danych MySQL za pomocą interfejsu API MySQL C i C++

  4. Harmonogram zdarzeń MySQL codziennie o określonej godzinie

  5. MySQL:Aktualizuję wszystkie wiersze ustawiając pole na 0, ale ustawiając pole jednego wiersza na 1