Durante la gestione dei dati nei database, spesso tendiamo a utilizzare gli operatori set in SQL , per recuperare i dati in base ai nostri requisiti combinando due o più istruzioni SELECT. In questo articolo su SQL UNION, parlerò dell'operatore UNION utilizzato per recuperare i dati nella seguente sequenza:
Cominciamo!
Cos'è l'operatore SQL UNION?
Come suggerisce il nome, questo operatore / clausola viene utilizzato per combinare i risultati di due o più istruzioni SELECT. Qui ogni istruzione SELECT utilizzata all'interno dell'istruzione UNION deve avere lo stesso numero di colonne nello stesso ordine. Inoltre, tutte le colonne presenti nelle istruzioni SELECT devono avere tipi di dati simili.
La clausola UNION fornisce solo valori univoci come output. Nel caso in cui desideri valori duplicati, devi usare la clausola UNION ALL.
Andando avanti in questo articolo su SQL UNION, cerchiamo di capire la sintassi.
Sintassi SQL UNION
Sintassi UNION
SELEZIONA Colonna1, Colonna2, Colonna3, ..., ColonnaN DA Tabella1 UNIONE SELEZIONA Colonna1, Colonna2, Colonna3, ..., ColonnaN DA Tabella2
UNION ALL Sintassi
SELEZIONA Colonna1, Colonna2, Colonna3, ..., ColonnaN DA Tabella1 UNIONE TUTTI SELEZIONA Colonna1, Colonna2, Colonna3, ..., ColonnaN DA Tabella2
Andando avanti in questo articolo, cerchiamo di capire le differenze tra UNION e UNION ALL.
Differenze tra SQL UNION e UNION ALL
UNIONE | UNION ALL |
Combina due o più set di risultati e non mantiene i valori duplicati. | Combina due o più set di risultati e mantiene i valori duplicati. |
Sintassi: UNIONE | Sintassi: UNION ALL |
Successivamente, in questo articolo su SQL UNION, comprendiamo i diversi modi di utilizzare questo operatore.
Esempi di SQL UNION e UNION ALL
Per una migliore comprensione, prenderò in considerazione le seguenti tabelle per mostrarti diversi esempi.
Tabella dei dipendenti
EmpID | Nome | EmpAge | Città | Codice postale | Nazione |
uno | Emma | 2. 3 | Berlino | 12109 | Germania |
2 | Rahul | 26 | Mumbai | 400015 | India |
3 | Aayra | 24 | New York | 10014 | USI |
4 | John | 32 | Londra | E1 7AE | UK |
5 | Derek | 29 | New York | 10012 | USI |
Tabella progetti
ProjectID | Nome | Giorni lavorativi | Città | Codice postale | Nazione |
uno | Progetto 1 | 10 | Berlino | 12109 | Germania |
2 | Progetto 2 | 7 | Mumbai | 400015 | India |
3 | Progetto 3 | venti | Delhi | 110006 | India |
4 | Progetto 4 | quindici | Mumbai | 400015 | India |
5 | Progetto 5 | 28 | Berlino | 12109 | Germania |
Cominciamo con degli esempi.
Esempi di SQL UNION
Esempio di operatore UNION
Scrivi una query per recuperare città distinte dalla tabella Dipendenti e progetti.
SELEZIONA Città DA Dipendenti UNIONE SELEZIONA Città DA Progetti ORDINA PER Città
Produzione:
Città |
Berlino |
Delhi cosa fa un iteratore in java |
Londra |
Mumbai |
New York |
Esempio di operatore UNION ALL
Scrivi una query per recuperare le città dalla tabella Dipendenti e progetti. Qui devono essere inclusi valori duplicati.
SELEZIONA Città DA Dipendenti UNIONE TUTTI SELEZIONA Città DA Progetti ORDINA PER Città
Produzione:
Città |
Berlino |
Berlino |
Berlino |
Delhi |
Londra |
Mumbai |
Mumbai |
Mumbai |
New York |
New York |
Successivamente in questo articolo, vediamo come utilizzare la clausola UNION con gli alias SQL.
UNION con alias SQL
Vengono utilizzati gli alias SQLper assegnare un nome temporaneo a una tabella o a una colonna. Quindi, scriviamo una query per elencare tutti i dipendenti e i progetti unici.
SELEZIONA 'Dipendente' come tipo, nome, città, paese FROM Dipendenti UNIONE SELEZIONA 'progetto', nome, città, paese FROM progetti
Produzione:
genere | Nome | Città | Nazione |
Dipendente | Emma | Berlino | Germania |
Dipendente | Rahul | Mumbai | India |
Dipendente | Aayra | New York | USI |
Dipendente | John | Londra | UK |
Dipendente | Derek | New York | USI |
Progetto | Progetto 1 | Berlino | Germania |
Progetto | Progetto 2 | Mumbai | India |
Progetto | Progetto 3 | Delhi | India |
Progetto | Progetto 4 | Mumbai | India |
Progetto | Progetto 5 | Berlino | Germania |
UNION con la clausola WHERE
Scrivi una query per recuperare le diverse città indiane e i rispettivi codici postali dalla tabella Dipendenti e Progetti.
SELEZIONA Città, Codice Postale, Paese DA Dipendenti WHERE Paese = 'India' UNIONE SELEZIONA Città, Codice Postale, Paese DA Progetti DOVE Paese = 'India' ORDINA PER Città
Produzione:
Città | Codice postale | Nazione |
Delhi | 110006 | India |
Mumbai | 400015 | India |
UNION ALL con la clausola WHERE
Scrivi una query per recuperare le città indiane e i relativi codici postali sia dalla tabella Dipendenti che da quella dei progetti, dove sono consentiti valori duplicati
SELEZIONA città, codice postale, paese FROM Employees WHERE Country = 'India' UNION ALL SELECT City, PostalCode, country FROM progetti WHERE Country = 'India' ORDER BY City
Produzione:
Città | Codice postale | Nazione |
Delhi | 110006 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Mumbai | 400015 | India |
Andando avanti in questo articolo, cerchiamo di capire come utilizzare le clausole UNION e UNION ALL con JOINS.I JOINS in SQL sono che vengono utilizzati per combinare righe di due o più tabelle, in base a una colonna correlata tra quelle tabelle.
trova il numero massimo nell'array java
UNION con JOINS
L'operatore SQL UNION può essere utilizzato con per recuperare i dati da due diverse tabelle. Prenderò in considerazione la seguente tabella insieme alla tabella Employees per l'esempio.
Tabella ProjectDetails
PID | Giorni lavorativi | EmpID | CostforProject |
undici | 12 | 4 | 20000 |
22 | 16 | 3 | 35000 |
33 | 30 | uno | 60000 |
44 | 25 | 3 | 45000 |
55 | ventuno | uno | 50.000 |
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION SELEZIONA EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Produzione:
EmpID | Nome | CostforProject |
uno | Emma | 60000 |
uno | Emma | 50.000 |
2 | Rahul | NULLO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULLO |
UNION ALL con JOINS
Scrivere una query per recuperare EmpID, Name e CostforProject dalla tabella Employees e ProjectDetails, dove sono consentiti valori duplicati.
SELECT EmpID, Name, CostforProject FROM Employees LEFT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID UNION ALL SELECT EmpID, Name, CostforProject FROM Employees RIGHT JOIN ProjectDetails ON Employees.EmpID = ProjectDetails.EmpID
Produzione:
EmpID | Nome | CostforProject |
uno | Emma | 60000 |
uno | Emma | 50.000 |
2 | Rahul | NULLO |
3 | Aayra | 35000 |
3 | Aayra | 45000 |
4 | John | 20000 |
5 | Derek | NULLO |
4 | John | 20000 |
3 | Aayra | 35000 |
uno | Emma | 60000 |
3 | Aayra | 35000 |
uno | Emma | 50.000 |
Con questo, arrivo alla fine di questo articolo su SQL UNION. Spero ti sia piaciuto leggere questo articolo su SQL UNION. Abbiamo visto i diversi modi per utilizzare i comandi UNION e UNION ALL per aiutarti a scrivere query. Se desideri saperne di più su MySQL e conosci questo database relazionale open source, quindi dai un'occhiata al nostro che viene fornito con formazione dal vivo con istruttore e esperienza di progetto nella vita reale. Questa formazione ti aiuterà a comprendere MySQL in profondità e ti aiuterà a raggiungere la padronanza dell'argomento.
Hai domande per noi? Per favore menzionalo nella sezione commenti di 'SQL UNION' e ti ricontatterò.