Maison >base de données >tutoriel mysql >Quelles sont les différences entre les jointures INNER, LEFT, RIGHT et FULL de MySQL ?

Quelles sont les différences entre les jointures INNER, LEFT, RIGHT et FULL de MySQL ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-10 08:27:14658parcourir

What are the Differences Between MySQL's INNER, LEFT, RIGHT, and FULL Joins?

Jointures MySQL : explication des types et des différences

Dans MySQL, les jointures jouent un rôle crucial dans la combinaison des données de plusieurs tables. Il existe différents types de jointure, offrant différentes méthodes pour récupérer des données en fonction de critères spécifiques. Cet article décrit les principales différences entre ces jointures.

Jointure séparée par des commentaires

La jointure séparée par des virgules, comme vous l'avez mentionné, est également connue sous le nom de implicite rejoindre. Il utilise l'opérateur virgule (",") pour répertorier plusieurs tables dans la clause FROM. Par exemple :

SELECT * FROM a, b WHERE b.id = a.beeId AND ...

INNER JOIN

INNER JOIN, désigné par le mot-clé ON, récupère les lignes uniquement lorsqu'une correspondance existe dans les deux tables. Il fait correspondre les lignes en fonction de la condition d'égalité spécifiée, renvoyant uniquement les lignes qui ont des valeurs correspondantes dans les deux tables.

LEFT JOIN

LEFT JOIN, également appelé LEFT OUTER JOIN , récupère toutes les lignes du tableau de gauche, même si elles n'ont pas de ligne correspondante dans le tableau de droite. Cela signifie qu'il inclut les lignes du tableau de gauche qui n'ont aucune ligne correspondante dans le tableau de droite.

RIGHT JOIN

RIGHT JOIN, ou RIGHT OUTER JOIN, récupère toutes les lignes du tableau de droite, même s'ils n'ont pas de ligne correspondante dans le tableau de gauche. Semblable à LEFT JOIN, il inclut les lignes de la table de droite qui n'ont aucune ligne correspondante dans la table de gauche.

FULL JOIN

FULL JOIN, également connu sous le nom de FULL OUTER JOIN, renvoie les lignes qui correspondent dans le tableau de gauche ou de droite. Il combine les résultats de INNER JOIN et LEFT JOIN ou RIGHT JOIN, affichant toutes les lignes des deux tables, qu'elles correspondent ou non.

SET Différences

  • LEFT JOIN : inclut les lignes du tableau de gauche sans correspondance à droite table.
  • RIGHT JOIN : inclut les lignes du tableau de droite sans correspondance dans le tableau de gauche.
  • INNER JOIN : exclut les lignes qui n'ont aucune ligne correspondante dans les deux tableaux.
  • FULL JOIN : inclut toutes les lignes des deux tables, même si elles n'ont pas de ligne correspondante dans l'autre table.

Pour résumer, chaque type de jointure a son objectif unique. Les jointures séparées par des virgules et implicites ont un comportement similaire, tandis que les jointures explicites (INNER, LEFT, RIGHT, FULL) offrent un contrôle plus granulaire sur la récupération des données en fonction des critères de recherche souhaités.

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:
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