Clausola dell'Unione SQLite

Clausola dell'Unione SQLite
“A volte, potremmo aver bisogno di combinare i dati da più tabelle in un set di risultati separato. Potrebbe essere per le tabelle nello stesso database con dati comparabili, oppure potrebbe essere per le tabelle da più database che hanno dati simili. La clausola SQLite Union viene utilizzata per unire le righe da due o più ricerche in un set di risultati unificato. Impareremo come utilizzare la clausola SQLite Union per integrare i risultati di due o anche più domande in una sola tabella impostata in questo articolo.

La clausola SQLite Union viene utilizzata insieme al comando seleziona per unire i risultati della query di due o più tabelle. Tuttavia, l'output include solo righe uniche, con tutte le righe duplicate rimosse. Ogni comando Select dovrebbe avere le stesse colonne, espressioni di colonne e tipo di dati, nonché essere nella stessa sequenza. Tuttavia, avere la stessa lunghezza non è obbligatorio."

Sintassi della clausola dell'Unione in SQLite

La sintassi di base per l'Unione è la seguente.

Seleziona Col1, Col2 .. . Coln
Dai tavoli
[Dove condizione]
UNIONE
Seleziona Col1, Col2 .. .Coln
Dai tavoli
[Dove condizione]

Qui il comando Select può prendere le colonne quante vogliamo recuperare, ma dobbiamo assicurarci che la colonna debba essere uguale in entrambe le tabelle. Quindi, abbiamo una clausola dopo il comando seleziona. Al massimo, una tabella deve essere menzionata nell'espressione. La condizione dove è opzionale che viene utilizzata per i requisiti per la selezione dei record.

Tabelle nel database di SQLite

Abbiamo creato un database come "dipendente.db "in sqlite3 e creato le seguenti due tabelle per questo database. La prima tabella si chiama "EMP", in cui abbiamo inserito i valori usando la query di inserto SQLite. Quindi, abbiamo usato la query Seleziona per visualizzare le informazioni sulla tabella. I dati della tabella "EMP" sono mostrati nella figura come segue.

SQLite> Seleziona * da EMP;
1 | Ali | 34 | 50000.0
2 | Mishkat | 28 | 40000.0
3 | Sara | 23 | 35000.0
4 | Bella | 30 | 45000.0
5 | Mansoor | 25 | 20000.0
6 | Shahwaiz | 22 | 30000.0
7 | Batool | 35 | 60000.0

Abbiamo creato un'altra tabella dello stesso database, "dipendente.DB ". La tabella viene creata come "dipartimento" e inserisce le entità della tabella usando la query di insert. Quindi, abbiamo usato la query seleziona per recuperare le informazioni della tabella, come mostrato nella figura seguente.

SQLite> Seleziona * da Dept;
1 | it | 3
2 | Account | 6
3 | account | 7
4 | Tecnico | 5
5 | IT | 4
6 | Account | 2
7 | Tecnico | 1
sqlite>

Esempio 1: programma di utilizzo della clausola SQLite Union

Un'unione, tuttavia, è una tecnica di unire verticalmente i dati. I sindacati uniscono i set di dati con lo stesso modello creando una tabella contenente voci da entrambe le tabelle. Non vi è alcuna clausola fornita all'Unione nell'esempio indicato, l'Unione è l'Unione [distinta] e il set di risultati contiene solo voci uniche. La clausola distinta dell'Unione unisce i dati da tabelle pertinenti che non sono state adeguatamente standardizzate.

Nell'esempio indicato, abbiamo usato il comando seleziona, selezionato il nome delle entità e il rept_name dalla tabella EMP e abbiamo usato un join interno con il dipartimento della tabella sull'attributo EMP_ID, che è comune in entrambe le tabelle. Quindi, abbiamo una clausola sindacale tra i due comandi selezionati. Il secondo comando Select recupera le entità dalle tabelle con la clausola di join a sinistra esterna.

Seleziona Nome, Dept_Name da EMP INTER JOIN DIPRIT
...> su EMP.Id = repart.Emp_id
...>
...> Unione
...>
...> Seleziona EMP_ID, Dept_Name da EMP Left Outer Join Dept
...> su EMP.Id = repart.Emp_id;

Nella domanda di cui sopra della clausola dell'Unione, abbiamo recuperato il seguente risultato.

Esempio 2: programma di utilizzo di SQLite Union All Clause

La clausola SQLite Union si unisce alla combinazione di varie operazioni selezionate. Recupera tutte le righe dalla query, con righe ridondanti tra le query selezionate multiple che non vengono rimosse.

Abbiamo selezionato le entità EMP_ID, Nome e Dept_Name dalla tabella EMP che l'interno si unisce al dipartimento della tabella sulle colonne simili in entrambe le tabelle, EMP_ID. Quindi, abbiamo la clausola dell'Unione prima della seconda domanda. Con la seconda query selezionata, abbiamo recuperato le entità di EMP_ID, Nome e Dept_Name con il join esterno sinistro con la tabella Dept sugli attributi simili delle tabelle specificate. La clausola dell'Unione viene utilizzata tra le due query, che combinano tutte le righe da più tabelle che sono comparabili. Allo stesso tempo, la clausola di join di un join interno o di sinistra combina colonne di varie tabelle correlate.

Seleziona EMP_ID, nome, Dept_Name da EMP INNER JOIN DIPRIT
...> su EMP.Id = repart.Emp_id
...>
...> Union All
...>
...> Seleziona EMP_ID, nome, Dept_Name da EMP Left Outer Join Dept
...> su EMP.Id = repart.Emp_id;

La clausola di Union All produce il seguente risultato, come mostrato nella figura.

Esempio 3: programma di utilizzo di SQLite Union Order per clausola

La clausola SQLite Union con l'ordine per clausola viene utilizzata per ordinare i risultati pertinenti. L'operatore sindacale viene utilizzato in questo esempio per unire le tabelle EMP e il reparto in un unico elenco. L'ordine per clausola viene anche utilizzato per ordinare la tabella mediante l'attributo salariale della tabella.

In primo luogo, abbiamo la query selezionata in cui abbiamo selezionato il nome e lo stipendio degli attributi dalla tabella EMP e quindi abbiamo usato la clausola dell'Unione prima di chiamare la seconda query selezionata. La seconda query selezionata ha recuperato gli attributi dipt_name ed emp_id dal dipartimento della tabella. Successivamente, abbiamo un ordine per clausola che ordina i campi della tabella da parte dell'EMP_ID e lo stipendio.

Seleziona nome, stipendio
Da EMP
UNIONE
Selezionare Dept_name, EMP_ID
Dal reparto
Ordine di EMP_ID, stipendio;

I campi sono ordinati per ID EMP e stipendio, come illustrato di seguito.

Conclusione

Alla fine, hai imparato a utilizzare l'operatore sindacale SQLite per unire le voci di diverse tabelle di set in un unico set di tabelle. Hai anche imparato come distinguere tra le clausole dell'Unione e dell'Unione con l'esempio. L'esistenza dell'Unione rispetto all'Unione è una distinzione significativa. L'unione è il funzionamento più efficiente dei due. Se entrambe le query selezionate restituiscono dati identici, un sindacato restituirà solo una riga per evitare i licenziamenti. Dall'altro lato, l'Unione restituisce tutte le licenziamenti, il che si traduce in una domanda rapida e può essere utile per coloro che vogliono sapere cosa potrebbe essere in entrambe le domande.