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.
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
UNION ALL
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!