Rubrique MySQL

[MySQL] Sélectionner les éléments d’une table qui ne sont pas déjà dans une autre table

Catégorie MySQL

Si on a 2 tables, table1 et table2, et que l’on veut les éléments de table2 qui ne sont pas déjà dans table1 (en gros, avoir la différence entre ces 2 tables), voici comment faire:

SELECT table2.* 
FROM id
WHERE id NOT 
IN (
SELECT id
FROM table1
)

Dans notre exemple, on compare selon le champs id, c’est à dire qu’il va ressortir les enregistrements de table2 dont les id ne sont pas présents dans table1.

Par extension, si vous voulez mettre à jour table1 avec les éléments supplémentaires qui sont dans table2, voici comment faire:

INSERT INTO table1 SELECT table2.* 
FROM table2
WHERE id NOT 
IN (
SELECT id
FROM table1
)

1 thoughts on “[MySQL] Sélectionner les éléments d’une table qui ne sont pas déjà dans une autre table

Laissez un commentaire...

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

(obligatoire)