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

La différence entre union et union tout en SQL

下次还敢
下次还敢original
2024-05-02 02:57:17860parcourir

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>

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

<code>SELECT * FROM T1 UNION SELECT * FROM T2;</code>

Le résultat sera :

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>

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>

Le résultat sera :

<code>+----+----+
| ID | Name |
+----+----+
| 1  | John |
| 2  | Susan |
| 2  | Susan |
| 3  | Mary |
| 4  | Bob |
+----+----+</code>

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!

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
Article précédent:Que signifie l'ordre dans SQLArticle suivant:Que signifie l'ordre dans SQL