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 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 etorders
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 colonneorderNumber
etstatus
sontNULL
.,
é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 premier
LEFT JOIN
renvoie 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 unNULL
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