Maison > base de données > tutoriel mysql > Maîtriser les jointures SQL : LEFT JOIN vs RIGHT JOIN expliqué avec des exemples

Maîtriser les jointures SQL : LEFT JOIN vs RIGHT JOIN expliqué avec des exemples

Patricia Arquette
Libérer: 2024-12-18 22:47:11
original
823 Les gens l'ont consulté

Mastering SQL Joins: LEFT JOIN vs RIGHT JOIN Explained with Examples

Voici une explication claire et structurée de LEFT JOIN et RIGHT JOIN en utilisant des tableaux de manière lisible :


Comprendre LEFT JOIN et RIGHT JOIN en SQL

LEFT JOIN et RIGHT JOIN sont des types de SQL OUTER JOIN. Ils sont utilisés pour récupérer les données de deux tables en fonction d'une condition de correspondance, tout en incluant également les lignes sans correspondance de l'une des tables.


1. REJOINDRE À 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 contient NULL pour les colonnes du tableau de droite.

Syntaxe :

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
Copier après la connexion

Exemple :

Tableau : Employés

EmployeeID Name DepartmentID
1 Alice 101
2 Bob 102
3 Charlie NULL
4 Diana 104

Tableau : Départements

DepartmentID DepartmentName
101 HR
102 IT
103 Finance

Requête :

SELECT Employees.Name, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
Copier après la connexion

Résultat :

Name DepartmentName
Alice HR
Bob IT
Charlie NULL
Diana NULL
  • Toutes les lignes des employés sont incluses.
  • Les lignes sans correspondance dans les départements (comme Charlie et Diana) affichent NULL.

2. REJOINDRE À DROITE

  • Le RIGHT JOIN renvoie toutes les lignes de la table de droite et les lignes correspondantes de la table de gauche.
  • S'il n'y a pas de correspondance, le résultat contient NULL pour les colonnes du tableau de gauche.

Syntaxe :

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
Copier après la connexion

Exemple :

Utiliser les mêmes tableaux Employés et départements.

Requête :

SELECT Employees.Name, Departments.DepartmentName
FROM Employees
RIGHT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
Copier après la connexion

Résultat :

Name DepartmentName
Alice HR
Bob IT
NULL Finance
  • Toutes les lignes des départements sont incluses.
  • Les lignes sans correspondance dans Employés (comme Finance) affichent NULL.

Différences clés


Fonctionnalité JOINTION À GAUCHE REJOINDRE À DROITE ête>
Feature LEFT JOIN RIGHT JOIN
Included Rows All rows from the left table. All rows from the right table.
Unmatched Rows NULL for unmatched right table. NULL for unmatched left table.
Primary Use Ensure all rows from the left table appear. Ensure all rows from the right table appear.
Lignes incluses Toutes les lignes du tableau de gauche. Toutes les lignes du tableau de droite.
Lignes sans correspondance

NULL pour une table de droite sans correspondance. NULL pour une table de gauche sans correspondance. Utilisation principale Assurez-vous que toutes les lignes du tableau de gauche apparaissent. Assurez-vous que toutes les lignes du tableau de droite apparaissent.
  • Quand utiliser ?
  • LEFT JOIN
  •  : à utiliser lorsque vous souhaitez toutes les données de la table de gauche, quelles que soient les correspondances dans la table de droite.

RIGHT JOIN

 : à utiliser lorsque vous souhaitez que toutes les données de la table de droite, quelles que soient les correspondances dans la table de gauche.


En présentant les tableaux proprement et en expliquant les concepts clés avec des exemples, la structure reste facile à comprendre et visuellement attrayante.

Bonjour, je m'appelle Abhay Singh Kathayat ! Je suis un développeur full-stack avec une expertise dans les technologies front-end et back-end. Je travaille avec une variété de langages et de frameworks de programmation pour créer des applications efficaces, évolutives et conviviales. N'hésitez pas à me contacter à mon e-mail professionnel : kaashshorts28@gmail.com.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal