Commandes SQL JOIN : analyse des données et reporting efficace

Les commandes SQL JOIN comptent parmi les commandes SQL les plus importantes pour l’analyse et le traitement des bases de données relationnelles. Elles permettent d’interroger des données liées dans plusieurs tables et de les fusionner dans des tables de résultats. Dans ce domaine, on appelle cette opération la « jointure » ou l’« appariement ». Selon le cas d’application, des commandes JOIN telles que INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN ou FULL JOIN sont utilisées à cet effet.

Jointures SQL : que sont les commandes SQL JOIN ?

Pour travailler avec des bases de données, que ce soit sur site ou via le Cloud, le langage de programmation et de base de données SQL est considéré comme la norme. Il permet non seulement de créer des bases de données relationnelles, mais aussi d’effectuer des requêtes de données au moyen de diverses commandes SQL. Parmi les commandes les plus importantes et les plus utilisées figure la catégorie des SQL JOINS.

Les SQL JOINS sont des commandes qui permettent d’interroger, de relier et de fusionner de manière pertinente des données dans plusieurs tables. La seule condition préalable est l’existence d’une connexion logique entre les tables. Cette connexion est établie par des clés primaires et étrangères qui permettent de fusionner des données à l’aide de commandes JOIN.

Note

Les clés primaires et étrangères constituent des caractéristiques importantes pour les SQL JOINS. Les clés primaires identifient les lignes de manière univoque et ne peuvent pas contenir de valeurs nulles. Les clés étrangères établissent un lien entre les tables. Par exemple, dans une table concernant les employés d’une entreprise, « Identifiant employé » sert de clé primaire. Dans un tableau de véhicules, « Numéro d’immatriculation » est la clé primaire. Les deux tableaux peuvent être reliés par « Numéro d’immatriculation » comme clé étrangère dans le tableau des employés.

Quels sont les différents types de commandes SQL JOIN ?

Selon le cas d’application, il existe différentes commandes JOIN. Jetons d’abord un coup d’œil aux paramètres de base :

  • SELECT : définit les colonnes qui entrent en ligne de compte pour SQL JOIN. Avec un astérisque (*), il est également possible de sélectionner l’ensemble des données.
  • FROM : définit la table à partir de laquelle les données sont fusionnées avec une autre table.
  • Commande JOIN : crée une table cible conformément à la commande JOIN, qui relie, fusionne ou compare les données sélectionnées.
  • ON : détermine la condition JOIN selon laquelle les données récupérées sont fusionnées.

La syntaxe de base contient des paramètres identiques ou similaires pour la plupart des commandes SQL JOIN et se présente comme suit :

SELECT colonneA, colonneB, ...
FROM tableA
Commande JOIN tableB
ON tableA.colonne = tableB.colonne
sql
Conseil

Vous recherchez une solution sûre et performante pour votre système de gestion de base de données ? Dans ce cas, le serveur d’hébergement SQL de IONOS vous propose les offres de serveur et d’hébergement adéquates avec des normes européennes de protection des données, parmi lesquelles des serveurs Cloud, des vServer (VPS), des serveurs dédiés ou un hébergement Linux avec MSSQL, MySQL ou MariaDB.

Serveurs virtuels (VPS)
Faites le choix de la performance
  • Virtualisation complète avec accès root
  • Trafic illimité et jusqu'à 1 Gbit/s de bande passante
  • Stockage SSD NVMe rapide et édition Plesk Web Host

Vous trouverez ci-dessous un aperçu des jointures SQL les plus importantes.

SQL INNER JOIN

Cette commande permet de fusionner les données de deux tables dans une table de résultats si deux valeurs correspondantes sont présentes dans une colonne commune. La commande SQL INNER JOIN est la commande JOIN la plus fréquente et la valeur par défaut si vous ne choisissez pas de type de JOIN spécifique.

Voici un exemple pratique :

INNER JOIN est utilisé pour une table nommée « Commandes » contenant les colonnes « Numéro de commande », « Numéro client », « Produit » et « Date de commande » et une seconde table « Clients » avec les colonnes « Numéro client », « Nom » et « Adresse ». La colonne « Numéro client » sert de clé primaire dans « Clients » et de clé étrangère dans « Commandes ». INNER JOIN réunit à l’aide du numéro client toutes les commandes et données des clients dans un tableau de résultats.

La commande SQL INNER JOIN se présente comme suit :

SELECT Commandes.Numéro de commande, Clients.Nom, Commandes.Produit, Commandes.Date de commande
FROM Commandes
INNER JOIN Clients
ON Commandes.Numéro client = Clients.Numéro client
sql

SQL OUTER JOIN

OUTER JOIN sert de terme générique pour les commandes SQL LEFT JOIN, RIGHT JOIN et FULL JOIN. La commande SQL OUTER JOIN contrairement à la commande INNER JOIN, fusionne non seulement les lignes correspondantes, mais aussi les lignes non correspondantes par valeur NULL. Vous trouverez ci-dessous des explications détaillées sur ces commandes SQL.

SQL LEFT JOIN

La commande LEFT JOIN relie toutes les données d’une table de gauche avec les données correspondantes de la table de droite. Si les données ne correspondent pas, la commande renvoie une valeur NULL.

Voici un exemple pratique :

La fonction SQL LEFT JOIN fusionne les enregistrements concordants et non concordants d’une table de gauche « Clients » avec une table de droite « Véhicules » en utilisant la colonne commune « Numéro d’immatriculation ». Contrairement à la commande INNER JOIN, elle renvoie même les données non concordantes avec la valeur NULL.

La commande SQL LEFT JOIN se présente comme suit :

SELECT *
FROM Clients
LEFT JOIN Véhicules
ON Clients.Numéro d’immatriculation = Véhicules.Numéro d’immatriculation
sql

SQL RIGHT JOIN

La commande RIGHT JOIN relie les données de la table de droite avec les données correspondantes de la table de gauche. En cas de non-concordance, il y a également une valeur NULL dans les colonnes de la table de gauche.

Voici un exemple pratique :

La commande SQL RIGHT JOIN ajoute aux données d’une table de droite « Clients » toutes les données sélectionnées d’une table de gauche « Commandes », sur la base du numéro de client. En cas de non-concordance, la commande indique la valeur NULL : par exemple, s’il n’existe ni commandes ni noms pour un numéro de client.

La commande SQL RIGHT JOIN se présente comme suit :

SELECT Commandes.Numéro de commande, Clients.Nom, Commandes.Produit, Commandes.Date de commande
FROM Clients
RIGHT JOIN Commandes
ON Commandes.Numéro client = Clients.Numéro client
sql

SQL FULL JOIN

La commande FULL JOIN consiste en une combinaison de LEFT JOIN et RIGHT JOIN et est aussi connue sous le nom de « FULL OUTER JOIN ». La commande fusionne tous les enregistrements et toutes les colonnes des deux tables. En cas de non-concordance, la commande renvoie des valeurs NULL.

Voici un exemple pratique :

La fonction FULL JOIN fusionne toutes les données concordantes et non concordantes d’un tableau de droite « Collaborateurs » avec un tableau de gauche « Département » sur la base du numéro de département. Si aucun département ne peut être attribué, une valeur NULL est indiquée pour le service.

La commande SQL FULL JOIN se présente comme suit :

SELECT *
FROM Collaborateurs
FULL JOIN Département
ON Collaborateurs.Numéro département = Département.Numéro département
sql

SQL CROSS JOIN

CROSS JOIN est également connu sous le nom de « JOIN cartésien ». Il relie tous les enregistrements des tables de gauche et de droite indépendamment des correspondances. Comme il renvoie toutes les combinaisons possibles, il n’y a ici pas besoin de clause ON.

Voici un exemple pratique :

CROSS JOIN fusionne toutes les données de la table de droite « Produits » avec la table de gauche « Commandes ».

La commande SQL CROSS JOIN se présente comme suit :

SELECT *
FROM Produits
CROSS JOIN Commandes
sql

SQL NATURAL JOIN

La commande NATURAL JOIN relie tous les enregistrements de deux tables par des colonnes communes. Comme la commande fusionne automatiquement les colonnes communes des tables, la clause ON n’est pas nécessaire.

Voici un exemple pratique :

La commande NATURAL JOIN fusionne les tables « Équipe » et « Service » à l’aide de colonnes communes. La commande ne renvoie des résultats que s’il y a au moins une colonne commune.

SQL NATURAL JOIN se présente comme suit :

SELECT *
FROM Équipe
NATURAL JOIN Service
sql

SQL SELF JOIN

La commande SQL SELF JOIN relie une table à elle-même en la traitant comme une table gauche et droite. Vous pouvez donc en principe utiliser n’importe quelle autre commande pour une opération SELF JOIN. Dans la syntaxe, t1 et t2 servent d’alias pour une table droite et gauche, puisqu’il s’agit de la même table.

Syntaxe de base avec l’exemple LEFT JOIN :

SELECT *
FROM tableA AS t1
LEFT JOIN tableA AS t2
ON t1.nom de la colonne = t2.nom de la colonne
sql
Cet article vous a-t-il été utile ?
Page top