Menu
Coddy logo textTech

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 editors

UNION 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 editors

Les deux côtés doivent renvoyer le même nombre de colonnes, dans le même ordre, avec des types compatibles.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • online_orders : order_no, amount
  • retail_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_no pour les commandes en ligne, ticket_no pour les commandes de détail
  • amount : le montant total de la commande (provenant de amount ou total)

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
quiz iconTestez-vous

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