UNION et UNION ALL

Empiler les lignes de deux requêtes dans un seul résultat. UNION supprime les doublons ; UNION ALL les conserve.

Syntaxe

SELECT … UNION SELECT …;
SELECT … UNION ALL SELECT …;
  • Les deux requêtes doivent renvoyer le même nombre de colonnes, avec des types compatibles.

Exemple

SELECT city FROM customers UNION SELECT category FROM products;

Chaque ville et chaque catégorie de produits, une seule fois.

Tables utilisées : customers, products. Essayez-le dans une leçon ci-dessous.

Erreurs courantes

  • Les noms de colonnes viennent de la première requête. Donnez-leur des alias à cet endroit.
  • UNION est plus lent que UNION ALL, car il doit supprimer les doublons. Utilisez UNION ALL si les répétitions ne posent pas de problème.

Pratiquer