Maison >base de données >tutoriel mysql >JOIN vs UNION : en quoi ces opérations de base de données diffèrent-elles ?

JOIN vs UNION : en quoi ces opérations de base de données diffèrent-elles ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-15 09:06:43244parcourir

JOIN vs. UNION: How Do These Database Operations Differ?

Compréhension approfondie des opérations de base de données : la différence entre JOIN et UNION

Dans les requêtes de base de données, JOIN et UNION sont deux opérations de connexion de table de base. Bien que les deux impliquent de combiner des lignes de plusieurs tables, leurs méthodes et leurs résultats sont très différents.

La différence entre JOIN et UNION

REJOIGNEZ :

  • Effectue un produit cartésien (jointure croisée) de toutes les lignes de la table spécifiée.
  • Filtrez l'ensemble de données résultant en fonction de conditions spécifiées (conditions de jointure).
  • Créez de nouvelles lignes en combinant des colonnes de lignes correspondantes ou liées.

UNION :

  • Joignez les lignes du tableau spécifié, en conservant les doublons.
  • Ne crée pas de nouvelles lignes et ne manipule pas les données.
  • La sortie contient toutes les lignes de chaque table, disposées verticalement.

Exemple :

L'exemple suivant illustre la différence entre JOIN et UNION :

<code>表 A:
+----+
| id | name |
+----+
| 1  | John |
| 2  | Mary |
+----+

表 B:
+----+
| id | city |
+----+
| 1  | London |
| 2  | Paris |
+----+</code>

REJOIGNEZ :

<code>SELECT *
FROM 表A
JOIN 表B ON 表A.id = 表B.id;</code>

Résultat :

<code>+----+------+----+--------+
| id | name | id | city    |
+----+------+----+--------+
| 1  | John | 1  | London  |
| 2  | Mary | 2  | Paris   |
+----+------+----+--------+</code>

UNION :

<code>SELECT *
FROM 表A
UNION
SELECT *
FROM 表B;</code>

Résultat :

<code>+----+------+
| id | name |
+----+------+
| 1  | John |
| 2  | Mary |
| 1  | London |
| 2  | Paris |
+----+------+</code>

Évidemment, JOIN produit un ensemble de données plus petit et plus granulaire contenant uniquement les lignes correspondantes, tandis que UNION combine toutes les lignes, y compris les doublons.

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