logo

Jointures SQL (jointure interne, gauche, droite et complète)

Jointure SQL L'opération combine des données ou des lignes de deux ou plusieurs tables en fonction d'un champ commun entre elles.

Dans cet article, nous découvrirons Jointures en SQL, couvrant les types JOIN, la syntaxe et des exemples.

JOINTURE SQL

La clause SQL JOIN est utilisée pour interroger et accéder aux données de plusieurs tables en établissant des relations logiques entre elles. Il peut accéder aux données de plusieurs tables simultanément en utilisant des valeurs clés communes partagées entre différentes tables.



comment trier un tableau en Java

Nous pouvons utiliser SQL JOIN avec plusieurs tables. Il peut également être associé à d'autres clauses, l'utilisation la plus populaire sera d'utiliser JOIN avec Clause OÙ pour filtrer la récupération des données.

Exemple de jointure SQL

Considérez les deux tableaux ci-dessous comme suit :

Étudiant:

table d'étudiant Cours pour étudiants :

table de cours

Ces deux tables sont reliées par une clé commune (colonne), à ​​savoir ROLL_NO.

Nous pouvons effectuer une opération JOIN en utilisant la requête SQL donnée :

  SELECT   s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id   FROM   Student s   JOIN   StudentCourse sc   ON   s.roll_no = sc.roll_no;>

Sortir:

ROLL_NO NOM ADRESSE TÉLÉPHONE ÂGE COURS_ID
1 RUDE DELHI XXXXXXXXX 18 1
2 PRATIQUE BIHAR XXXXXXXXX 19 2
3 RIYANKA SILGURI XXXXXXXXX vingt 2
4 PROFOND RAMNAGAR XXXXXXXXX 18 3
5 SAPTARHI Calcutta XXXXXXXXX 19 1

Types de JOIN en SQL

Il existe de nombreux types de jointures dans SQL. Selon le cas d'utilisation, vous pouvez utiliser différents types de clause SQL JOIN. Voici les types SQL JOIN fréquemment utilisés :

  • JOINTURE INTERNE
  • JOINT GAUCHE
  • REJOINDRE À DROITE
  • REJOINDRE COMPLÈTEMENT
  • JOINT NATUREL

JOINTURE INTERNE SQL

Le JOINTURE INTERNE Le mot-clé sélectionne toutes les lignes des deux tables tant que la condition est remplie. Ce mot-clé créera l'ensemble de résultats en combinant toutes les lignes des deux tables où la condition satisfait, c'est-à-dire que la valeur du champ commun sera la même.

Syntaxe :

La syntaxe de SQL INNER JOIN est :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    INNER JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Ici,

  • Tableau 1 : Premier tableau.
  • Tableau 2 : Deuxième tableau
  • colonne_correspondante : Colonne commune aux deux tables.

Note : On peut aussi écrire JOIN au lieu de INNER JOIN. JOIN est identique à INNER JOIN.

représentation visuelle de la jointure interne SQL

Exemple de jointure interne

Regardons l'exemple de la clause INNER JOIN et comprenons qu'elle fonctionne.

Cette requête affichera les noms et l'âge des étudiants inscrits dans différents cours.

  SELECT   StudentCourse.COURSE_ID, Student.NAME, Student.AGE   FROM   Student   INNER JOIN   StudentCourse   ON   Student.ROLL_NO = StudentCourse.ROLL_NO;>

Sortir :

Exemple de sortie de jointure interne SQL

JOINTURE GAUCHE SQL

LEFT JOIN renvoie toutes les lignes de la table du côté gauche de la jointure et fait correspondre les lignes de la table du côté droit de la jointure. Pour les lignes pour lesquelles il n'y a pas de ligne correspondante sur le côté droit, l'ensemble de résultats contiendra nul . LEFT JOIN est également connu sous le nom de LEFT OUTER JOIN.

Syntaxe

La syntaxe de LEFT JOIN dans SQL est :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    LEFT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Ici,

  • Tableau 1: Premier tableau.
  • Tableau 2 : Deuxième tableau
  • colonne_correspondante : Colonne commune aux deux tables.

Note : Nous pouvons également utiliser LEFT OUTER JOIN au lieu de LEFT JOIN, les deux sont identiques.

Joint gauche

Exemple de jointure à gauche

Regardons l'exemple de la clause LEFT JOIN et comprenons qu'elle fonctionne

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   LEFT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Sortir :

python convertit les octets en chaîne

exemple de sortie de jointure gauche SQL

JOINTURE À DROITE SQL

REJOINDRE À DROITE renvoie toutes les lignes de la table du côté droit de la jointure et les lignes correspondantes de la table du côté gauche de la jointure. C'est très similaire à LEFT JOIN Pour les lignes pour lesquelles il n'y a pas de ligne correspondante sur le côté gauche, l'ensemble de résultats contiendra nul . RIGHT JOIN est également connu sous le nom de RIGHT OUTER JOIN.

Syntaxe:

La syntaxe de RIGHT JOIN en SQL est la suivante :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    RIGHT JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Ici,

  • Tableau 1 : Premier tableau.
  • Tableau 2 : Deuxième tableau
  • colonne_correspondante : Colonne commune aux deux tables.

Note : On peut aussi utiliser JOINTURE EXTERNE DROITE au lieu de RIGHT JOIN, les deux sont identiques.

représentation visuelle de jointure à droite SQL

Exemple de jointure à droite :

Regardons l'exemple de la clause RIGHT JOIN et comprenons qu'elle fonctionne

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   RIGHT JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Sortir:

exemple de sortie de jointure à droite

JOINTURE COMPLÈTE SQL

REJOINDRE COMPLÈTEMENT crée l'ensemble de résultats en combinant les résultats de LEFT JOIN et de RIGHT JOIN. L'ensemble de résultats contiendra toutes les lignes des deux tables. Pour les lignes pour lesquelles il n'y a pas de correspondance, le jeu de résultats contiendra NUL valeurs.

Rejoindre_complètement

Syntaxe

La syntaxe de SQL FULL JOIN est la suivante :

  SELECT   table1.column1,table1.column2,table2.column1,....   FROM   table1    FULL JOIN   table2   ON   table1.matching_column = table2.matching_column;>

Ici,

  • Tableau 1 : Premier tableau.
  • Tableau 2 : Deuxième tableau
  • colonne_correspondante : Colonne commune aux deux tables.

Exemple de jointure complète

Regardons l'exemple de la clause FULL JOIN et comprenons qu'elle fonctionne

  SELECT   Student.NAME,StudentCourse.COURSE_ID    FROM   Student   FULL JOIN   StudentCourse    ON   StudentCourse.ROLL_NO = Student.ROLL_NO;>

Sortir:

NOM

COURS_ID

RUDE

1

PRATIQUE

2

RIYANKA

2

PROFOND

3

SAPTARHI

1

DHANRAJ

NUL

ROHIT

NUL

NIRAJ

NUL

NUL

4

NUL

5

NUL

4

Jointure naturelle SQL (?)

La jointure naturelle peut joindre des tables en fonction des colonnes communes des tables jointes. Une jointure naturelle renvoie toutes les lignes en faisant correspondre les valeurs dans les colonnes communes ayant le même nom et le même type de données et cette colonne doit être présente dans les deux tables.

Les deux tables doivent avoir au moins une colonne commune avec le même nom de colonne et le même type de données.

Les deux tables sont jointes en utilisant Jointure croisée .

Le SGBD recherchera une colonne commune avec le même nom et le même type de données. Les tuples ayant exactement les mêmes valeurs dans les colonnes communes sont conservés dans le résultat.

table ascii en c

Exemple de jointure naturelle :

Regardez les deux tableaux ci-dessous – Employé et Département

Employé

Emp_id Emp_name ID_dept
1 RAM dix
2 Jon 30
3 Bob cinquante

Département

ID_dept Nom_du service
dix IL
30 HEURE
40 TIS

Problème : Retrouvez tous les employés et leurs services respectifs.

Requête de solution : (Employé) ? (Département)

Emp_id Emp_name ID_dept ID_dept Nom_du service
1 RAM dix dix IL
2 Jon 30 30 HEURE
Données des employés Données du département

Ressources additionnelles

Pour en savoir plus sur SQL JOIN, essayez de regarder nos vidéos et de lire les articles :

À gauche REJOINDRE (Vidéo)
Rejoindre à droite (Vidéo)
REJOINDRE COMPLÈTEMENT (Vidéo)
SQL | JOIN (Jointure cartésienne, Self Join)