UNION contre UNION ALL
Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 16 sur 27.
Tu as découvert UNION dans Fundamentals : il empile deux ensembles de résultats l’un au-dessus de l’autre. Par défaut, il supprime également les doublons, ce qui nécessite un tri supplémentaire.
SELECT name FROM authors
UNION
SELECT name FROM editorsUNION ALL effectue le même empilement, mais conserve les doublons. C'est plus rapide et c'est presque toujours ce que vous voulez lorsque vous savez que les deux côtés ne peuvent pas produire la même ligne, ou lorsque vous voulez réellement compter chaque occurrence.
SELECT name FROM authors
UNION ALL
SELECT name FROM editorsLes deux côtés doivent renvoyer le même nombre de colonnes, dans le même ordre, avec des types compatibles.
Défi
FacileTables et colonnes disponibles :
online_orders:order_no,amountretail_orders:ticket_no,total
Les deux tables suivent les commandes provenant de différents canaux, avec des noms de colonnes différents. Retournez une liste combinée de chaque commande avec les colonnes suivantes :
channel:'online'ou'retail'order_id:order_nopour les commandes en ligne,ticket_nopour les commandes de détailamount: le montant total de la commande (provenant deamountoutotal)
Conservez chaque ligne (aucune déduplication). Triez par amount dans l’ordre décroissant.
Essayez vous-même
-- deux SELECTs alignés sur les mêmes 3 colonnes, joints par UNION ALL
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Au-delà des bases
Entraînez-vous par vous-même : Playground SQL