[MySQL] Sélectionner les éléments d’une table qui ne sont pas déjà dans une autre table
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 )
Que peut-on faire si on veut faire la comparaison sur plusieurs colonnes? car là il s’agit d’une seule colonne