Jointures dans SQL Server : types et exemples
โก Rรฉsumรฉ intelligent
Dans SQL Server, les jointures combinent les lignes de deux tables ou plus en fonction d'une colonne liรฉe, en utilisant les jointures INNER, LEFT OUTER, RIGHT OUTER et FULL OUTER pour contrรดler quelles lignes correspondantes et non correspondantes apparaissent dans le rรฉsultat.

Que sont les jointures dans SQL Server ?
Les donnรฉes peuvent รชtre rรฉcupรฉrรฉes ร partir de plusieurs tables en utilisant l'instruction JOIN dans SQL ServerUne jointure (JOIN) combine les lignes de deux tables ou plus en fonction d'une colonne commune, le plus souvent une colonne de correspondance. clรฉ primaire assorti ร un clรฉ รฉtrangรจreIl existe principalement quatre types de jointures dans SQL Server :
- Jointure interne / jointure simple
- Jonction extรฉrieure gauche / jonction gauche
- Jonction extรฉrieure droite / jonction droite
- JOINTURE EXTรRIEURE COMPLรTE
Le tableau ci-dessous rรฉcapitule les lignes renvoyรฉes par chaque type de jointure :
| Type de jointure | Lignes renvoyรฉes |
| JOINTURE INTERNE | Seules les lignes oรน la condition de jointure correspond dans les deux tables. |
| JOINT EXTERIEUR GAUCHE | Toutes les lignes du tableau de gauche, plus les lignes correspondantes du tableau de droite (NULL lorsqu'aucune ne correspond). |
| JOINT EXTรRIEUR DROIT | Toutes les lignes du tableau de droite, plus les lignes correspondantes du tableau de gauche (NULL lorsqu'aucune ne correspond). |
| JOINTURE EXTรRIEURE COMPLรTE | Toutes les lignes des deux tables, avec des valeurs NULL lorsque la condition n'est pas remplie. |
Les exemples ci-dessous utilisent deux les tablesLes tables ยซ รtudiants ยป et ยซ Frais de scolaritรฉ ยป sont jointes sur la base de leur colonne d'admission commune. Chaque section explique un type de jointure avec sa syntaxe, un exemple de requรชte et le rรฉsultat.
JOINTURE INTERNE
Ce type dโ SQL Server La fonction JOIN renvoie les lignes de toutes les tables pour lesquelles la condition de jointure est vraie. Elle accepte la syntaxe suivante :
SELECT columns FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column;
Nous utiliserons les deux tableaux suivants pour illustrer cela. Le tableau ยซ รtudiants ยป ci-dessous rรฉpertorie chaque รฉtudiant et son numรฉro dโadmission :
Le tableau des frais ci-dessous indique le montant payรฉ pour chaque numรฉro d'admission :
La commande suivante illustre une jointure interne (INNER JOIN) dans SQL Server ร l'aide d'un exemple :
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
La commande renvoie le rรฉsultat suivant, affichant uniquement les numรฉros d'admission prรฉsents dans les deux tableaux :
Nous pouvons identifier les รฉtudiants qui ont rรฉglรฉ leurs frais d'inscription. Nous avons utilisรฉ la colonne prรฉsentant des valeurs communes aux deux tableaux, ร savoir la colonne ยซ admission ยป.
JOINT EXTERIEUR GAUCHE
Ce type de jointure renvoie toutes les lignes de la table de gauche ainsi que les enregistrements de la table de droite ayant des valeurs correspondantes. Par exemple :
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students LEFT OUTER JOIN Fee ON Students.admission = Fee.admission
Le code renvoie le rรฉsultat suivant, keeping chaque รฉtudiant, mรชme lorsqu'aucun relevรฉ de frais ne correspond :
Les enregistrements sans valeurs correspondantes sont remplacรฉs par des NULL dans les colonnes respectives.
JOINT EXTรRIEUR DROIT
Ce type de jointure renvoie toutes les lignes du tableau de droite et uniquement celles dont les valeurs correspondent dans le tableau de gauche. Par exemple:
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students RIGHT OUTER JOIN Fee ON Students.admission = Fee.admission
L'instruction OUTER JOIN dans SQL Server renvoie le rรฉsultat suivant :
La raison du rรฉsultat ci-dessus est que toutes les lignes du tableau Frais sont disponibles dans le tableau รtudiants lorsqu'elles correspondent dans la colonne d'admission.
JOINTURE EXTรRIEURE COMPLรTE
Ce type de jointure renvoie toutes les lignes des deux tables, avec des valeurs NULL lorsque la condition de jointure n'est pas vรฉrifiรฉe. Par exemple :
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students FULL OUTER JOIN Fee ON Students.admission = Fee.admission
Le code renvoie le rรฉsultat suivant pour les requรชtes FULL OUTER JOIN dans SQL, en combinant chaque ligne des deux tableaux :






