Maison > base de données > SQL > La différence entre union et union tout en SQL

La différence entre union et union tout en SQL

下次还敢
Libérer: 2024-05-02 02:57:17
original
909 Les gens l'ont consulté

UNION ne renvoie que des lignes uniques, tandis que UNION ALL contient des lignes en double ; UNION déduplique avant la fusion, mais UNION ALL ne déduplique pas les lignes.

La différence entre union et union tout en SQL

Différence entre UNION et UNION ALL dans SQL

UNION et UNION ALL sont des opérateurs SQL utilisés pour fusionner des lignes de deux tables ou plus. Cependant, il existe des différences fondamentales dans la manière dont ils gèrent les lignes en double.

UNION

  • Renvoie uniquement les lignes uniques (non dupliquées) dans le tableau des résultats.
  • Il dédupliquera les lignes de chaque tableau avant de fusionner les tableaux.
  • S'il y a des lignes en double dans un tableau, elles n'apparaîtront qu'une seule fois dans le tableau des résultats.

UNION ALL

  • Renvoie toutes les lignes, y compris les lignes en double.
  • Il ne duplique pas les lignes des tables individuelles.
  • S'il y a des lignes en double dans un tableau, elles apparaîtront plusieurs fois dans le tableau des résultats.

Exemple

Supposons qu'il y ait deux tables T1 et T2 comme indiqué ci-dessous :

<code>T1:
+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
+----+----+

T2:
+----+----+
| ID | Name |
+----+----+
| 2  | Susan |
| 4  | Bob |
+----+----+</code>
Copier après la connexion

Si vous fusionnez ces deux tables à l'aide de l'opérateur UNION :

<code>SELECT * FROM T1 UNION SELECT * FROM T2;</code>
Copier après la connexion

Le résultat sera :

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>
Copier après la connexion

où, les lignes en double ( ID = 2, Nom = Susan) a été supprimé.

Si vous fusionnez ces deux tables à l'aide de l'opérateur UNION ALL :

<code>SELECT * FROM T1 UNION ALL SELECT * FROM T2;</code>
Copier après la connexion

Le résultat sera :

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>
Copier après la connexion

où les lignes en double sont déjà incluses dans le résultat.

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!

source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal