Alors que la solution jkj vous a fourni fonctionne, il utilise une ancienne façon de joindre des tables, qui dans les mélanges particuliers se joignent à des conditions et des conditions de filtrage dans une clause, à savoir la clause WHERE
.
La méthode d'assemblage actuellement proposée propose des mots-clés dédiés qui vous permettent de séparer la logique de jointure de la logique de filtrage, rendant ainsi votre requête plus claire, j'ose dire.
Voilà comment vous iriez selon les normes en vigueur:
SELECT c.*
FROM coupons_tags ct
INNER JOIN coupons c ON ct.couponID = c.couponID
WHERE ct.tagID = $tagID
Ici, vous indiquez la jonction avec la clause INNER JOIN
et de mettre la condition de jointure, ct.couponID = c.couponID
, après le mot-clé ON
, laissant ainsi la condition de filtre, ct.tagID = $tagID
, dans la clause WHERE
.
Cette solution contient également des alias de table (ct
, c
), qui vous aident également à rendre votre script plus lisible lorsque vous devez interroger plusieurs tables.
Si, lors de l'interrogation de plusieurs tables, vous spécifiez certaines colonnes à sélectionner au lieu de seulement *
ou alias.*
, comme je l'ai fait, n'oubliez pas d'inclure l'alias de table aussi. Ce n'est pas toujours nécessaire, car certaines colonnes ne sont présentes que dans l'une des tables que vous interrogez et le moteur de base de données ne sera pas confondu en déterminant à quelle table vous voulez que cette colonne appartienne, mais c'est toujours une bonne pratique l'alias attaché, car il améliore encore la lisibilité ainsi que la maintenabilité de vos scripts.
afficher les définitions de tables avec étiquettes et cupons – bensiu