La différence entre UNION et UNION ALL dans Oracle réside dans la façon dont les lignes en double sont gérées. UNION supprime les lignes en double et renvoie uniquement les lignes distinctes ; UNION ALL conserve toutes les lignes, y compris les doublons.
La différence entre UNION et UNION ALL dans Oracle
Différence essentielle :
UNION et UNION ALL sont des opérations de requête utilisées dans Oracle pour fusionner des lignes dans deux ou plusieurs tables. La principale différence réside dans la manière dont ils gèrent les lignes en double.
Lignes en double :
Syntaxe :
<code class="sql">SELECT ... FROM table1 UNION SELECT ... FROM table2; SELECT ... FROM table1 UNION ALL SELECT ... FROM table2;</code>
Cas d'utilisation :
UNION :
UNION ALL :
Performance :
UNION fonctionne généralement moins bien que UNION ALL car elle nécessite des étapes supplémentaires pour supprimer les lignes en double. Toutefois, si vous devez vous assurer qu’il n’y a pas de lignes en double dans le résultat, UNION est un meilleur choix.
Exemple :
Supposons qu'il y ait deux tables : customers
和 orders
.
Si nous fusionnons ces deux tables en utilisant UNION, les lignes en double seront supprimées :
<code class="sql">SELECT * FROM customers UNION SELECT * FROM orders;</code>
alors que UNION ALL conservera toutes les lignes, y compris les lignes en double :
<code class="sql">SELECT * FROM customers UNION ALL SELECT * FROM orders;</code>
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!