Vous êtes ici : Page Principale > SQL
Documentation sur le SQL
Sur le web...
Manuel de référence de MYSQLFAQ
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