Joindre des tables avec JOIN

Página 16

MySQL est l'un des systèmes de gestion de bases de données les plus populaires au monde, et l'un des concepts les plus importants à comprendre lorsque vous travaillez avec lui est de savoir comment joindre des tables à l'aide de la commande JOIN. Il s'agit d'une commande SQL utilisée pour combiner des lignes de deux ou plusieurs tables, en fonction d'une colonne liée entre elles.

Il existe plusieurs types de JOIN disponibles dans MySQL : INNER JOIN, LEFT JOIN, RIGHT JOIN et FULL JOIN. Chacun d’eux a un objectif spécifique et est utilisé dans différents scénarios. Explorons chacun d'eux en détail.

JOINTURE INTERNE

L'INNER JOIN est le type de JOIN le plus courant. Il renvoie des lignes lorsqu'il y a une correspondance dans les deux tables. S'il n'y a pas de correspondance, la ligne n'est pas renvoyée.

Par exemple, si nous avons deux tables, « Clients » et « Commandes », et que nous voulons trouver tous les clients qui ont passé une commande, nous pourrions utiliser INNER JOIN pour joindre les deux tables en fonction de l'ID client. La syntaxe ressemblerait à ceci :

SELECT Clients.Nom, Commandes.Produit DES Clients Commandes INNER JOIN ON Customers.ID = Orders.ID_Customer ;

Cette commande renverrait un tableau des noms des clients et des produits qu'ils ont commandés. Si un client n'a pas passé de commande, celle-ci n'apparaîtra pas dans le tableau résultant.

JOINTION À GAUCHE

LEFT JOIN renvoie toutes les lignes de la table de gauche et les lignes correspondantes de la table de droite. S'il n'y a pas de correspondance, le résultat est NULL sur le côté droit.

En utilisant le même exemple, si nous voulions trouver tous les clients, qu'ils aient passé une commande ou non, nous pourrions utiliser LEFT JOIN. La syntaxe ressemblerait à ceci :

SELECT Clients.Nom, Commandes.Produit DES Clients JOINDRE À GAUCHE Commandes ON Customers.ID = Orders.ID_Customer ;

Cette commande renverrait un tableau avec les noms de tous les clients. Si un client passait une commande, le produit qu'il avait commandé serait répertorié. S'ils ne passaient pas de commande, il y aurait un NULL dans la colonne produit.

REJOINDRE À DROITE

Le RIGHT JOIN est l'opposé du LEFT JOIN. Il renvoie toutes les lignes du tableau de droite et les lignes correspondantes du tableau de gauche. S'il n'y a pas de correspondance, le résultat est NULL à gauche.

En utilisant le même exemple, si nous voulions trouver toutes les commandes, qu'elles aient été passées ou non par un client, nous pourrions utiliser RIGHT JOIN. La syntaxe ressemblerait à ceci :

SELECT Clients.Nom, Commandes.Produit DES Clients Ordres RIGHT JOIN ON Customers.ID = Orders.ID_Customer ;

Cette commande renverrait un tableau avec tous les produits commandés. Si une commande était passée par un client, le nom du client serait répertorié. Si la commande n'a pas été passée par un client, il y aura un NULL dans la colonne du nom du client.

JOINTION COMPLÈTE

FULL JOIN renvoie les lignes lorsqu'il y a une correspondance dans l'une des tables. Ainsi, s'il y a une ligne dans le premier tableau qui n'a pas de ligne correspondante dans le deuxième tableau, ou une ligne dans le deuxième tableau qui n'a pas de ligne correspondante dans le premier tableau, cette ligne sera répertoriée.

Malheureusement, MySQL ne prend pas directement en charge FULL JOIN, mais vous pouvez obtenir le même résultat en utilisant une combinaison de LEFT JOIN et UNION.

SELECT Clients.Nom, Commandes.Produit DES Clients JOINDRE À GAUCHE Commandes SUR Clients.ID = Commandes.ID_Customer SYNDICAT SELECT Clients.Nom, Commandes.Produit DES Clients Ordres RIGHT JOIN ON Customers.ID = Orders.ID_Customer ;

Cette commande renverrait un tableau de tous les clients et de toutes les commandes. Si un client ne passait pas de commande, il y aurait un NULL dans la colonne produit. Si une commande n'a pas été passée par un client, il y aura un NULL dans la colonne du nom du client.

En résumé, la commande JOIN est un outil puissant dans MySQL qui vous permet de joindre deux ou plusieurs tables en fonction d'une colonne liée entre elles. Comprendre comment utiliser les différents types de JOIN peut vous aider à extraire efficacement des informations précieuses de vos données.

Répondez maintenant à l’exercice sur le contenu :

Quelle est la différence entre INNER JOIN et LEFT JOIN dans MySQL ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

17Sous-requêtes dans MySQL

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte