Skip to main content

Guide rapide d'utilisation des jointures internes dans SQL

Symfony 4 & Doctrine: QueryBuilder (Mai 2024)

Symfony 4 & Doctrine: QueryBuilder (Mai 2024)

Table des matières:

Anonim

Vous pouvez utiliser les instructions SQL JOIN pour combiner les données de trois tables ou plus. SQL JOIN est extrêmement flexible et sa puissante fonctionnalité peut être utilisée pour combiner des données provenant de plusieurs tables. Examinons les instructions SQL qui vous permettent de combiner les résultats de trois tables différentes à l'aide d'une jointure interne.

Exemple de jointure interne

Par exemple, prenons des tables contenant des conducteurs dans une table et des confrontations de véhicules dans la seconde. La jointure interne se produit lorsque le véhicule et le conducteur sont situés dans la même ville. La jointure interne sélectionne toutes les lignes des deux tables contenant une correspondance entre les colonnes d'emplacement.

L'instruction SQL ci-dessous combine les données des tableaux Conducteurs et véhicules dans les cas où le conducteur et le véhicule sont situés dans la même ville:

SELECT nom, prénom, étiquette FROM conducteurs, véhicules WHERE drivers.location = véhicules.location

Cette requête produit les résultats suivants:

nom prénom prénom tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT

Maintenant, étendez cet exemple pour inclure une troisième table. Imaginez que vous vouliez inclure uniquement les conducteurs et les véhicules présents sur les lieux ouverts le week-end. Vous pouvez introduire une troisième table dans votre requête en développant l'instruction JOIN de la manière suivante:

SELECT nom, prénom, tag, open_weekends FROM pilotes, véhicules, emplacements WHERE drivers.location = véhicules.location ET véhicules.location = emplacements.location AND emplacements.open_weekends = 'Oui'

nom de famille prénom nom open_weekends -------- --------- --- ------------- Baker Roland H122JM oui Jacobs Abraham J291QR oui Jacobs Abraham L990MT oui

Cette extension puissante de l'instruction SQL JOIN de base vous permet de combiner des données de manière complexe. En plus de combiner des tables avec une jointure interne, vous pouvez également utiliser cette technique pour combiner plusieurs tables à l'aide d'une jointure externe. Les jointures externes incluent les résultats qui existent dans une table mais ne correspondent pas dans la table jointe.