Maison >base de données >tutoriel mysql >JOIN vs UNION : quelle est la différence dans la manipulation des données SQL ?

JOIN vs UNION : quelle est la différence dans la manipulation des données SQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-15 08:30:41870parcourir

JOIN vs. UNION: What's the Difference in SQL Data Manipulation?

SQL JOIN et UNION : une comparaison détaillée

SQL fournit deux opérateurs puissants, JOIN et UNION, pour manipuler les données sur plusieurs tables. Cet article clarifie leurs fonctionnalités distinctes avec des exemples illustratifs.

JOIN et UNION : en quoi ils diffèrent

JOIN fusionne les lignes de différentes tables en fonction d'une colonne ou d'une condition partagée, générant un ensemble de résultats combiné contenant les champs des deux tables. À l'inverse, UNION empile verticalement les résultats de plusieurs SELECT instructions, produisant un seul jeu de résultats englobant toutes les lignes de chaque requête.

Comprendre l'opérateur JOIN

JOIN (y compris des variantes comme INNER JOIN et LEFT JOIN) crée initialement un produit cartésien des tables impliquées. Par la suite, il filtre ce produit en fonction des conditions de jointure définies. Cela permet une analyse intégrée des données provenant de diverses sources.

Exemple de REJOINDRE

<code class="language-sql">SELECT * 
FROM table1
INNER JOIN table2 ON table1.id = table2.id;</code>

Ce INNER JOIN renvoie uniquement les lignes où la colonne id correspond à la fois dans table1 et table2.

Comprendre l'opérateur UNION

UNION (y compris UNION ALL) combine les résultats de plusieurs instructions SELECT en un seul ensemble de résultats unifié. Contrairement à JOIN, UNION ne filtre ni ne compare les lignes ; cela les concatène simplement.

Exemple d'UNION

<code class="language-sql">SELECT * FROM table1
UNION
SELECT * FROM table2;</code>

Cette instruction UNION renvoie toutes les lignes de table1 et table2, éliminant les lignes en double. UNION ALL conserverait 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