Menu
Coddy logo textTech

UNION vs UNION ALL

Fa parte della sezione Oltre le basi del percorso SQL di Coddy. Lezione 16 di 27.

Hai incontrato UNION in Fondamenti: impila due insiemi di risultati uno sopra l'altro. Per impostazione predefinita, inoltre, rimuove i duplicati, il che comporta un ordinamento aggiuntivo.

SELECT name FROM authors
UNION
SELECT name FROM editors

UNION ALL impila nello stesso modo, ma mantiene i duplicati. È più veloce ed è quasi sempre ciò che vuoi quando sai che i due insiemi non possono produrre la stessa riga, oppure quando vuoi contare ogni occorrenza.

SELECT name FROM authors
UNION ALL
SELECT name FROM editors

Entrambi i lati devono restituire lo stesso numero di colonne, nello stesso ordine, con tipi compatibili.

challenge icon

Sfida

Facile

Tabelle e colonne disponibili:

  • online_orders: order_no, amount
  • retail_orders: ticket_no, total

Le due tabelle tengono traccia degli ordini provenienti da canali diversi, con nomi di colonna diversi. Restituisci un unico elenco combinato di tutti gli ordini con le colonne:

  • channel: 'online' o 'retail'
  • order_id: order_no per gli ordini online, ticket_no per quelli al dettaglio
  • amount: il totale dell'ordine (da amount o total)

Mantieni tutte le righe (senza deduplicazione). Ordina per amount in ordine decrescente.

Provalo tu

-- due SELECT allineate alle stesse 3 colonne, unite con UNION ALL
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Oltre le basi

Esercitati da solo: Playground SQL