Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Clausola Union | Sottoquery Nidificate
SQL Intermedio
course content

Contenuti del Corso

SQL Intermedio

SQL Intermedio

1. Raggruppamento
2. Sottoquery Nidificate
3. Unire le Tabelle
4. DDL e DML in SQL

book
Clausola Union

Abbiamo attirato l'attenzione di un cliente che ha bisogno di query SQL. Prima di immergerci nei JOINs, impariamo a conoscere la clausola UNION, che è essenziale per combinare più tabelle.

Ecco alcune cose importanti da sapere sull'uso di UNION:

  1. Numero e Ordine delle Colonne: Tutte le query combinate con UNION devono avere lo stesso numero di colonne nello stesso ordine;

  2. Tipi di Dati: Le colonne in ogni query devono avere tipi di dati compatibili;

  3. Righe Uniche: Per impostazione predefinita, UNION rimuove le righe duplicate. Usa UNION ALL se vuoi mantenere i duplicati.

Per una migliore comprensione di come combinare correttamente le tabelle utilizzando la clausola UNION, ho introdotto una tabella aggiuntiva che contiene informazioni sui contractors.

Non ci sono molte informazioni qui, solo il first_name, last_name e email.

Puoi vedere che questa tabella ha somiglianze con la tabella employees. Utilizzando la clausola UNION, possiamo combinare queste due tabelle per, ad esempio, vedere un elenco di tutti i nomi e cognomi di dipendenti e contractors coinvolti nell'azienda.

Per fare ciò, useremo la clausola UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analizziamo cosa sta succedendo:

Abbiamo due query che restituiscono ciascuna tre colonne con gli stessi tipi di dati. Vogliamo vedere l'Id, il first_name e il last_name di tutti nella compagnia. Abbiamo anche rinominato la colonna Id in modo che entrambe le query abbiano gli stessi nomi di colonna.

Poi, usiamo UNION per combinare i risultati di queste query, rimuovendo i duplicati (anche se qui non ce ne sono).

Infine, ordiniamo i risultati per Id usando ORDER BY.

Nota

Stiamo ordinando per Id, che è una colonna comune in entrambe le tabelle.

Dopo aver usato UNION, otteniamo una "singola grande query" che possiamo ulteriormente manipolare con clausole come ORDER BY.

Non possiamo usare direttamente WHERE o GROUP BY con tabelle combinate usando UNION. Per applicare queste clausole, dobbiamo usare una sottoquery nella sezione FROM. Ecco un esempio di come farlo:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Usare una sottoquery nella sezione FROM ci dà più flessibilità! Potrebbe sembrare complicato all'inizio, ma padroneggiare questo renderà la scrittura di query complesse molto più facile.

1. Quali colonne sono richieste quando si utilizza la clausola UNION in SQL?

2. Come tratta la clausola UNION le righe duplicate per impostazione predefinita?

question mark

Quali colonne sono richieste quando si utilizza la clausola UNION in SQL?

Select the correct answer

question mark

Come tratta la clausola UNION le righe duplicate per impostazione predefinita?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5

Chieda ad AI

expand
ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

course content

Contenuti del Corso

SQL Intermedio

SQL Intermedio

1. Raggruppamento
2. Sottoquery Nidificate
3. Unire le Tabelle
4. DDL e DML in SQL

book
Clausola Union

Abbiamo attirato l'attenzione di un cliente che ha bisogno di query SQL. Prima di immergerci nei JOINs, impariamo a conoscere la clausola UNION, che è essenziale per combinare più tabelle.

Ecco alcune cose importanti da sapere sull'uso di UNION:

  1. Numero e Ordine delle Colonne: Tutte le query combinate con UNION devono avere lo stesso numero di colonne nello stesso ordine;

  2. Tipi di Dati: Le colonne in ogni query devono avere tipi di dati compatibili;

  3. Righe Uniche: Per impostazione predefinita, UNION rimuove le righe duplicate. Usa UNION ALL se vuoi mantenere i duplicati.

Per una migliore comprensione di come combinare correttamente le tabelle utilizzando la clausola UNION, ho introdotto una tabella aggiuntiva che contiene informazioni sui contractors.

Non ci sono molte informazioni qui, solo il first_name, last_name e email.

Puoi vedere che questa tabella ha somiglianze con la tabella employees. Utilizzando la clausola UNION, possiamo combinare queste due tabelle per, ad esempio, vedere un elenco di tutti i nomi e cognomi di dipendenti e contractors coinvolti nell'azienda.

Per fare ciò, useremo la clausola UNION:

12345678
(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
copy

Analizziamo cosa sta succedendo:

Abbiamo due query che restituiscono ciascuna tre colonne con gli stessi tipi di dati. Vogliamo vedere l'Id, il first_name e il last_name di tutti nella compagnia. Abbiamo anche rinominato la colonna Id in modo che entrambe le query abbiano gli stessi nomi di colonna.

Poi, usiamo UNION per combinare i risultati di queste query, rimuovendo i duplicati (anche se qui non ce ne sono).

Infine, ordiniamo i risultati per Id usando ORDER BY.

Nota

Stiamo ordinando per Id, che è una colonna comune in entrambe le tabelle.

Dopo aver usato UNION, otteniamo una "singola grande query" che possiamo ulteriormente manipolare con clausole come ORDER BY.

Non possiamo usare direttamente WHERE o GROUP BY con tabelle combinate usando UNION. Per applicare queste clausole, dobbiamo usare una sottoquery nella sezione FROM. Ecco un esempio di come farlo:

123456789
SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
copy

Usare una sottoquery nella sezione FROM ci dà più flessibilità! Potrebbe sembrare complicato all'inizio, ma padroneggiare questo renderà la scrittura di query complesse molto più facile.

1. Quali colonne sono richieste quando si utilizza la clausola UNION in SQL?

2. Come tratta la clausola UNION le righe duplicate per impostazione predefinita?

question mark

Quali colonne sono richieste quando si utilizza la clausola UNION in SQL?

Select the correct answer

question mark

Come tratta la clausola UNION le righe duplicate per impostazione predefinita?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 5
Siamo spiacenti che qualcosa sia andato storto. Cosa è successo?
some-alt