fbpx

SQL JOIN : tout ce qu’il faut savoir

Qu’est-ce que le SQL Join ? Quels sont les différents types de jointures ? Découvrez dans cet article tout ce qu’il faut savoir sur les jointures en SQL

Définition SQL Join 

SQL Join ou Jointure SQL permet de combiner plusieurs tables en une seule requête. Cela vous permet de tirer parti de la puissance des bases de données relationnelles pour combiner efficacement les données de plusieurs tables.

Différents types de jointures 

Pour comprendre le concept du SQL Join, ci-après les différents types de jointures : 

Inner Join 

Dans le langage SQL, la commande INNER JOIN, également appelée EQUIJOIN est un type de jointure interne très courant pour joindre plusieurs tables. Cette commande renvoie des enregistrements s’il y a au moins une ligne dans chaque colonne qui correspond aux critères.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

INNER JOIN table2 ON table1.id = table2.fk_id

Cross Join 

Dans le langage SQL, la commande CROSS JOIN est une sorte de jointure de deux tables SQL qui renvoie un produit cartésien. Elle renvoie toutes les lignes d’une table et toutes les lignes d’une autre table. Donc, si nous prenons le produit cartésien du tableau A avec 30 résultats et du tableau B avec  40 résultats, nous obtenons 1200 résultats (30 x 40 = 1200). La commande CROSS JOIN est généralement associée à la commande WHERE pour filtrer les résultats qui remplissent certaines conditions. C’est alors une jointure croisée qui peut former un produit cartésien de deux tables. Il s’agit de connecter toutes les lignes d’une table à toutes les lignes d’une seconde table. Notez que le nombre de résultats est généralement très important.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

CROSS JOIN table2

Left Join 

Dans le langage SQL, la commande LEFT JOIN aussi connue sous le nom de LEFT OUTER JOIN est un type de jointure entre deux tables. C’est une jointure externe qui renvoie tous les enregistrements de la table de gauche même si la condition n’est pas validée sur l’autre table.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

LEFT JOIN table2 ON table1.id = table2.fk_id

Right Join 

En SQL, la commande RIGHT JOIN également appelée  RIGHT OUTER JOIN est une sorte de jointure entre deux tables, renvoyant tous les enregistrements de la table de droite même si la correspondance n’est pas approuvée dans la table de gauche. Si aucun enregistrement de la table de droite  ne correspond à la table de gauche, la colonne de la table de gauche est NULL.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

RIGHT JOIN table2 ON table1.id = table2.fk_id

Full Join 

En langage SQL, joignez deux tables à l’aide de la commande FULL JOIN également appelée FULL OUTER JOIN. Cette commande permet de joindre les résultats de deux tables, de les concaténer grâce à une condition, et de remplir avec des valeurs NULL si la condition n’est pas remplie.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

FULL JOIN table2 ON table1.id = table2.fk_id

Natural Join 

En langage SQL, vous pouvez utiliser la commande NATURAL JOIN pour créer une jointure naturelle entre deux tables. Cette jointure est effectuée à  condition que les deux tables aient des colonnes de même nom et de même type. Une jointure naturelle donne une table avec le même nombre de lignes que de paires qui correspondent au mappage de colonne de même nom.

Pour utiliser ce type de jointure, vous devez utiliser une requête SQL avec la syntaxe suivante :

SELECT *

FROM table1

NATURAL JOIN table2

2 exemples concrets de SQL Join 

De base, une jointure consiste à relier les  lignes de deux tables en combinant l’égalité des valeurs de colonne de la première table avec les valeurs de colonne de la deuxième table. 

  • Supposons que votre base de  données ait une table d’utilisateur et une autre table d’adresse. Une jointure vous permet de récupérer des données d’utilisateur et d’adresse dans une seule requête.
  • Imaginons que votre site web dispose d’une table pour les articles contenant les titres, les contenus, les dates de publications et autres ; également d’une table pour les éditeurs comme les noms, les dates d’enregistrements, les dates de naissances et autres. À l’aide d’une jointure, vous pouvez effectuer une seule recherche pour afficher les noms d’articles et les noms d’éditeurs. Cela élimine le besoin d’afficher le nom du rédacteur dans la table des articles. 

Il existe d’autres cas de jointures comme les jointures sur la même table et les jointures inégales. Ces cas sont si particuliers et pas faciles à comprendre qu’ils ne sont pas abordés plus en détail dans cet article.

Vous souhaitez vous former au Big Data ? Retrouvez les formations Data Full Stack et Data Analyst qui vous forment aux métiers de Data Analyst, Data Scientist, Data Engineer et AI Scientist.
Merci pour votre lecture ! Si vous souhaitez lire nos prochains articles autour de la Data et de l’IA, vous pouvez nous suivre sur FacebookLinkedIn et Twitter pour être notifié lorsqu’un nouvel article est publié !