SQL prend en charge la qualification d'une colonne en préfixant la référence avec le nom complet de la table :
SELECT tbl_names.id, tbl_section.id, name, section
FROM tbl_names
JOIN tbl_section ON tbl_section.id = tbl_names.id
...ou un alias de table :
SELECT n.id, s.id, n.name, s.section
FROM tbl_names n
JOIN tbl_section s ON s.id = n.id
L'alias de table est l'approche recommandée :pourquoi taper plus que nécessaire ?
Pourquoi ces requêtes sont-elles différentes ?
Deuxièmement, mes réponses utilisent la syntaxe ANSI-92 JOIN (la vôtre est ANSI-89). Bien qu'elles effectuent la même chose, la syntaxe ANSI-89 ne prend pas en charge les jointures OUTER (RIGHT, LEFT, FULL). La syntaxe ANSI-89 doit être considérée comme obsolète, il y en a beaucoup sur SO qui ne voteront pas pour la syntaxe ANSI-89 pour renforcer cela. Pour plus d'informations, voir cette question .