Accéder au contenu principal
Documents
FonctionsExpressionsKeywordsDéclarationsClauses

Clause RIGHT JOIN de MySQL

La clause `RIGHT JOIN` de MySQL est utilisée pour récupérer tous les tableaux de la table de droite et les tableaux correspondants de la table de gauche. Si aucune correspondance n'est trouvée, des valeurs NULL sont renvoyées pour les tableaux de gauche.

Utilisation

La clause `RIGHT JOIN` est généralement utilisée lorsque vous voulez vous assurer que tous les tableaux de droite sont inclus dans le jeu de résultats, qu'ils aient ou non des correspondances dans le tableau de gauche.


SELECT columns
FROM left_table
RIGHT JOIN right_table ON left_table.common_column = right_table.common_column;

Dans cette syntaxe, `RIGHT JOIN` assure que toutes les lignes de `right_table` sont retournées, avec les lignes correspondantes de `left_table` lorsqu'elles sont disponibles.

Exemples

1. Droit de base Rejoindre


SELECT employees.employee_id, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id;

Cet exemple récupère tous les noms de départements, y compris ceux qui n'ont pas d'employés, en s'assurant qu'aucun département n'est omis.

2. Jointure à droite avec la clause WHERE


SELECT orders.order_id, customers.customer_name
FROM orders
RIGHT JOIN customers ON orders.customer_id = customers.customer_id
WHERE customers.country = 'USA';

Ici, la requête renvoie tous les clients des Etats-Unis, y compris ceux qui n'ont passé aucune commande, en utilisant une clause `WHERE` avec le `RIGHT JOIN`.

3. Jointure droite avec agrégation


SELECT departments.department_name, COUNT(employees.employee_id) AS employee_count
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id
GROUP BY departments.department_name;

Cet exemple compte le nombre d'employés par département, en s'assurant que chaque département est listé même s'il n'a aucun employé, en utilisant `RIGHT JOIN` avec `GROUP BY`.

Conseils et bonnes pratiques

  • Choisissez le bon type de jointure. Utilisez la fonction `RIGHT JOIN` lorsqu'il est essentiel d'inclure tous les tableaux de la table de droite, même s'il n'y a pas de correspondance dans la table de gauche. Tenez compte des besoins de l'entreprise et des relations entre les données lorsque vous décidez de choisir entre "JOIN GAUCHE" et "JOIN DROIT", car ce choix peut avoir un impact sur la logique de récupération des données.
  • Tenez compte de la lisibilité de la requête. Evitez d'utiliser `RIGHT JOIN` lorsqu'une `LEFT JOIN` peut atteindre le même résultat en inversant l'ordre des tableaux pour une meilleure lisibilité, à moins que des contraintes spécifiques n'imposent l'utilisation de `RIGHT JOIN`.
  • Optimiser les performances. Assurez-vous que les colonnes de jointure sont indexées pour améliorer les performances de vos requêtes `RIGHT JOIN`. Soyez attentif aux implications potentielles en termes de performances lorsque vous utilisez `RIGHT JOIN` avec de grands ensembles de données, et envisagez des techniques d'optimisation des requêtes pour atténuer les problèmes.
  • Traiter les valeurs NULL. Préparez-vous à gérer des valeurs `NULL` dans votre jeu de résultats, car les tableaux non appariés de la table de gauche produiront des NULL.

Amélioration de SQL pour les débutants

Acquérir les compétences SQL pour interagir avec vos données et les interroger.
Commencez à apprendre gratuitement