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 de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

(obligatoire)