Guide d'utilisation des jointures internes dans SQL pour regrouper des données à partir de plusieurs tables

Image illustrant : Comment faire la jointure de plusieurs tables dans SQL ?
  1. Accueil
  2. Web
  3. F.A.Q
  4. Comment faire la jointure de plusieurs tables dans SQL ?

Les instructions SQL JOIN peuvent rassembler des données de 2 tables ou plusieurs tables avec une seule requête

Représentation des données dans une base de données @crédit image Openclassrooms

Les bases de données relationnelles sont une écurie de nombreuses entreprises. Ils sont créés avec un langage informatique appelé SQL (Structured Query Language). Si vous travaillez avec des bases de données relationnelles , vous examinerez ou collecterez occasionnellement des données qui se trouvent dans plusieurs tables de la base de données.

Qu'est-ce qu'une instruction SQL JOIN?

Une instruction SQL JOIN permet de joindre deux ou plusieurs tables, généralement basées sur une colonne associée afin que les données soient traitées comme si elles se trouvaient dans une table. Les tables elles-mêmes ne sont pas modifiées par la jointure.

SQL JOIN est flexible et fonctionnel. Bien qu'il existe plusieurs types de jointures, la jointure interne est l'une des plus faciles à comprendre et à utiliser. Jetez un œil aux instructions SQL suivantes qui illustrent comment combiner les résultats de trois tables différentes à l'aide d'une jointure interne.

Exemple de jointure interne

Par exemple, prenez des tables qui contiennent des conducteurs dans une table et des correspondances de véhicules dans la seconde. La jonction intérieure 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 qui contiennent une correspondance entre les colonnes d'emplacement.

L'instruction SQL ci-dessous combine les données des tables 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 drivers, véhicules 
WHERE drivers.location = vehicules.location

Cette requête produit les résultats suivants:

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. Pour inclure uniquement les conducteurs et les véhicules présents à des emplacements ouverts le week-end, insérez une troisième table dans la requête en étendant l'instruction JOIN comme suit:

SELECT nom, prénom, étiquette, open_weekends 
FROM conducteurs, véhicules, emplacements 
WHERE drivers.location = vehicules.location 
AND vehicules.location = locations.location 
AND locations.open_weekends = 'Oui'

Cette requête produit les résultats suivants:

nom prénom tag open_weekends 
-------- --------- --- ------------- 
Baker Roland H122JM oui 
Jacobs Abraham J291QR oui 
Jacobs Abraham L990MY oui

Cette puissante extension de l'instruction SQL JOIN de base combine les données de manière complexe. Outre la combinaison de tables avec une jointure interne, cette technique combine plusieurs tables avec d'autres types de jointures.

Autres types de jointures

Lorsque les tables ont un enregistrement correspondant, les jointures internes sont la voie à suivre, mais parfois une table n'a pas d'enregistrement associé pour les données sur lesquelles la jointure est construite, de sorte que la requête échoue. Ce cas appelle une jointure externe , qui inclut les résultats qui existent dans une table mais qui n'a pas de correspondance correspondante dans la table jointe.

En outre, vous pouvez choisir d'utiliser un type de jointure différent, selon les circonstances. Ces autres types de jointures sont:

  • Left outer join ( jointure gauche): contient tous les enregistrements de la table de gauche, même si la table de droite n'a pas d'enregistrement correspondant.
  • Right outer join ( jointure droite): renvoie toutes les informations pertinentes de la table de droite, même si la table de gauche n'a pas de correspondance.
  • Full join : sélectionne tous les enregistrements de deux tables, qu'ils aient ou non une condition de jointure correspondante.
Partager Tutoriel

Mots clés dans : Comment faire la jointure de plusieurs tables dans SQL ?

SQL Programmation

Autres Tutoriels sur (SQL, Programmation) ...