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

Dec 18, 2024 pm 10:47 PM

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 :

1

2

3

4

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 :

1

2

3

4

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 :

1

2

3

4

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 :

1

2

3

4

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!

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

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Réduisez l'utilisation de la mémoire MySQL dans Docker Réduisez l'utilisation de la mémoire MySQL dans Docker Mar 04, 2025 pm 03:52 PM

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE? Mar 19, 2025 pm 03:51 PM

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée Mar 04, 2025 pm 04:01 PM

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Qu'est-ce que Sqlite? Aperçu complet Qu'est-ce que Sqlite? Aperçu complet Mar 04, 2025 pm 03:55 PM

Qu'est-ce que Sqlite? Aperçu complet

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin) Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin) Mar 04, 2025 pm 03:54 PM

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape Mar 04, 2025 pm 03:49 PM

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)? Mar 21, 2025 pm 06:28 PM

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)? Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)? Mar 18, 2025 pm 12:00 PM

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

See all articles