MySQL LEFT JOIN (Français)

résumé: dans ce tutoriel, vous apprendrez à propos de la clause MySQLLEFT JOIN et comment l’appliquer pour interroger les données de deux tables ou plus.

Introduction à MySQL LEFT JOIN

LeLEFT JOIN vous permet d’interroger les données de deux tables ou plus. Similaire à la balise INNER JOIN clause, la balise LEFT JOIN est une clause facultative de la balise SELECT déclaration, qui apparaît juste après la balise FROM clause.,

Supposons que vous voulez joindre deux tables t1 et t2.

L’énoncé suivant montre comment utiliser la balise LEFT JOIN clause de jointure entre les deux tables:

Code language: SQL (Structured Query Language) (sql)

Lorsque vous utilisez la balise LEFT JOIN clause, les concepts de la gauche de la table et de la table de droite sont introduits.

Dans la syntaxe ci-dessus, t1 est la table de gauche et t2 est la table de droite.,

Le LEFT JOIN clause sélectionne les données à partir de la table de gauche (t1). Elle correspond à chaque ligne de la table de gauche (t1) avec chaque ligne de la table de droite(t2) basé sur le join_condition.

Si les lignes des deux tables cause la condition de jointure donne TRUE, le LEFT JOIN combiner les colonnes de lignes des deux tables pour une nouvelle ligne et comprend cette nouvelle ligne dans les lignes de résultat.,

dans le cas où la ligne de la table de gauche (t1) ne correspond à aucune ligne de la table de droite (t2), leLEFT JOIN combine toujours des colonnes de lignes des deux tables dans une nouvelle ligne et inclut la nouvelle ligne Cependant, il utilise NULL pour toutes les colonnes de la rangée de la table de droite.

en d’autres termes,LEFT JOIN renvoie toutes les lignes de la table de gauche, qu’une ligne de la table de gauche ait ou non une ligne correspondante de la table de droite., S’il n’y a pas de correspondance, les colonnes de la ligne de la table de droite contiendront NULL.

voici diagramme de Venn, vous aide à visualiser la façon dont le LEFT JOIN clause de travaux:

MySQL LEFT JOIN – Diagramme de Venn

MySQL LEFT JOIN exemples

prenons quelques exemples d’utilisation de la balise LEFT JOIN clause.,

1) Utilisation de la clause MySQL LEFT JOIN pour joindre deux tables

Voir les tables suivantescustomers Etorders dans l’exemple de base de données.

Chaque client peut avoir zéro, un ou plusieurs commandes, tandis que chaque commande doit appartenir qu’à un seul client.,

Cette requête utilise la balise LEFT JOIN clause de trouver l’ensemble des clients et de leurs commandes:

Code language: SQL (Structured Query Language) (sql)

Sinon, vous pouvez enregistrer un peu de temps en utilisant des alias de table:

Code language: SQL (Structured Query Language) (sql)

Dans cet exemple:

  • Le customers est la table de gauche et orders est la table de droite.
  • la clause LEFT JOIN renvoie tous les clients, y compris les clients qui n’ont pas de commande., Si un client n’a pas d’ordre, les valeurs dans la colonne orderNumber et status sont NULL.,

étant donné que les clients de la table et les commandes ont le même nom de colonne ( customerNumber) dans la condition de jointure avec l’opérateur equal, vous pouvez utiliser la syntaxe USING comme suit:

Code language: SQL (Structured Query Language) (sql)

Les clauses suivantes sont équivalentes:

Code language: SQL (Structured Query Language) (sql)

et

Code language: SQL (Structured Query Language) (sql)

Si vous remplacez la clause LEFT JOIN par la clause INNER JOIN, vous obtiendrez les seuls clients qui ont au moins une commande.,

2) utiliser la clause MySQL LEFT JOIN pour trouver des lignes non appariées

la clauseLEFT JOIN est très utile lorsque vous souhaitez trouver des lignes dans une table qui n’a pas de ligne correspondante d’une autre table., »> pour trouver des clients qui n’ont pas d’ordre:

Code language: SQL (Structured Query Language) (sql)

3) L’utilisation de MySQL GAUCHE pour JOINDRE des trois tables

Voir les trois tableaux suivants: employees, customers et payments:

Cet exemple utilise deux LEFT JOIN clauses de joindre les trois tables: employees, customers, et payments.,

Code language: SQL (Structured Query Language) (sql)

Cette image montre la sortie partielle:

Comment cela fonctionne.

  • le premierLEFT JOINrenvoie tous les employés et clients qui ont représenté chaque employé ouNULL si l’employé n’est responsable d’aucun client.
  • deuxième LEFT JOIN retourne les paiements de chaque client représenté par un employé ou un NULL si le client n’a pas de paiement.

Condition dans la clause where vs, SUR l’article

Voir l’exemple suivant.

Code language: SQL (Structured Query Language) (sql)

Cet exemple utilise la balise LEFT JOIN clause d’interroger les données à partir des tables orders et orderDetails. La requête renvoie la commande et ses éléments de ligne du numéro de commande 10123.,

Toutefois, si vous déplacez la condition de la balise WHERE clause ON l’article:

Code language: SQL (Structured Query Language) (sql)

Il aura un sens différent.,

Dans ce cas, la requête renvoie toutes les commandes, mais seulement de l’ordre 10123 aura des éléments associés comme dans l’image ci-dessous:

Notez que pour le INNER JOIN clause, la condition dans le ON l’article est équivalente à la condition, dans le WHERE clause.

dans ce tutoriel, vous avez appris à utiliser la clause MySQL LEFT JOIN pour joindre des données à partir de deux tables ou plus.,

  • ce tutoriel a Été utile?
  • Ouinon

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *