Vous êtes ici : Page Principale > SQL


Documentation sur le SQL


Sur le web...

Manuel de référence de MYSQL

FAQ

Comment dans MYSQL afficher les lignes d'une table A non liées à la table B?
La table B est liée à la table A car elle contient l'identifiant de la table A.

SELECT TABLE_A.ID_A, TABLE_B.ID_A FROM TABLE_A LEFT OUTER JOIN TABLE_B ON (TABLE_A.ID_A = TABLE_B.ID_A,)
WHERE TABLE_B.ID_A IS NULL

Le LEFT JOIN permet d'afficher toutes les lignes de la table A même celle pour lesquelles il n'y a pas de liaison avec B.
C'est l'égalitée indiqué après ON qui permet d'établir la liaison entre la table A et la table B.
Dans le cas où une ligne de la table A n'est pas liée à la table B, les colonnes de la table B que l'on demandera d'afficher (clause SELECT) auront une valeur NULL.
Il suffit alors de demander dans la clause WHERE de n'afficher que les lignes pour lesquelle une colonne de la table B vaut NULL.
Voir la documentation de MYSQL sur LEFT JOIN