Comment sélectionner tous les enregistrements d'une table qui n'existent pas dans une autre table ?
Comment sélectionner tous les enregistrements d'une table qui n'existent pas dans une autre table ?
Comment sélectionner tous les enregistrements d'une table qui n'existent pas dans une autre table ?
Re: Comment sélectionner tous les enregistrements d'une table qui n'existent pas dans une autre table ?
```
SELECT t1.name
FROM table1 t1
LEFT JOIN table2 t2 ON t2.name = t1.name
WHERE t2.name IS NULL
```
**Q** : Que se passe-t-il ici ?
**R** : Conceptuellement, nous sélectionnons toutes les lignes de `table1` et, pour chaque ligne, nous tentons de trouver une ligne dans `table2` avec la même valeur dans la colonne `name`. Si une telle ligne n'existe pas, nous laissons simplement la partie `table2` de notre résultat vide pour cette ligne. Nous limitons ensuite notre sélection en ne retenant que les lignes du résultat pour lesquelles la ligne correspondante n'existe pas. Enfin, nous ignorons tous les champs de notre résultat sauf fo
SELECT t1.name
FROM table1 t1
LEFT JOIN table2 t2 ON t2.name = t1.name
WHERE t2.name IS NULL
```
**Q** : Que se passe-t-il ici ?
**R** : Conceptuellement, nous sélectionnons toutes les lignes de `table1` et, pour chaque ligne, nous tentons de trouver une ligne dans `table2` avec la même valeur dans la colonne `name`. Si une telle ligne n'existe pas, nous laissons simplement la partie `table2` de notre résultat vide pour cette ligne. Nous limitons ensuite notre sélection en ne retenant que les lignes du résultat pour lesquelles la ligne correspondante n'existe pas. Enfin, nous ignorons tous les champs de notre résultat sauf fo