SQLite Union Clause

SQLite Union Clause
“Noen ganger kan det hende vi må kombinere data fra flere tabeller til et eget resultatsett. Det kan være for tabeller i samme database som har sammenlignbare data, eller det kan være for tabeller fra flere databaser som har lignende data. Sqlite Union Clause brukes til å slå sammen rader fra to eller flere søk i et enhetlig resultatsett. Vi lærer hvordan du bruker SQLite Union Clause for å integrere resultatene fra to eller enda flere spørsmål i bare ett tabell satt i denne artikkelen.

Sqlite Union Clause brukes i forbindelse med SELECT -kommandoen for å forene spørringsresultatene fra to eller flere tabeller. Imidlertid inkluderer utgangen bare unike rader, med alle dupliserte rader fjernet. Hver valgte kommando skal ha de samme kolonnene, kolonneuttrykkene og datatypen, samt være i samme sekvens. Å ha samme lengde er imidlertid ikke obligatorisk.”

Syntaks for unionsklausul i SQLite

Den grunnleggende syntaks for union er som følger.

Velg Col1, Col2 .. . Coln
Fra bord
[Hvor tilstand]
Union
Velg Col1, Col2 .. .Coln
Fra bord
[Hvor tilstand]

Her kan den utvalgte kommandoen ta kolonnene så mange som vi vil hente, men vi må sørge for at kolonnen skal være lik i begge tabellene. Deretter har vi en fra klausul etter Select -kommandoen. På det meste må en tabell nevnes i fra uttrykket. Hvor tilstanden er valgfri som brukes til kravene til å velge poster.

Tabeller i databasen til SQLite

Vi har opprettet en database som "ansatt.DB ”i SQLite3 og opprettet følgende to tabeller for denne databasen. Den første tabellen heter “EMP”, der vi har satt inn verdiene ved å bruke SQLite Insert -spørring. Deretter brukte vi Select -spørringen for å se tabellinformasjonen. Dataene fra "EMP" -tabellen er vist på figuren som følger.

sqlite> velg * fra 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

Vi har laget en annen tabell med samme database, “Ansatt.DB ”. Tabellen er opprettet som "avd." Og setter inn tabellenhetene ved å bruke Sett inn spørringen. Deretter brukte vi Select Query for å hente tabellinformasjonen, som vist i følgende figur.

sqlite> velg * fra avd.;
1 | det | 3
2 | Kontoer | 6
3 | Kontoer | 7
4 | Tekniker | 5
5 | det | 4
6 | Kontoer | 2
7 | Tekniker | 1
SQLite>

Eksempel 1: Program for å bruke SQLite Union Clause

En fagforening er imidlertid en teknikk for vertikalt sammenslåing av data. Fagforeninger blir med i datasett med samme mønster ved å lage en tabell som inneholder oppføringer fra begge tabellene. Det er ingen klausul gitt til Union i det gitte eksemplet, unions misligholder union [distinkt], og resultatsettet inneholder bare unike oppføringer. Unionens distinkte klausul slutter seg til data fra relevante tabeller som ikke har blitt tilstrekkelig standardisert.

I det gitte eksemplet brukte vi Select -kommandoen, valgte enhetens navn og avd. Deretter har vi en unionsbestemmelse mellom de to utvalgte kommandoene. Den andre Select -kommandoen henter enhetene fra tabellene med den ytre venstre sammenføyningsklausulen.

Velg navn, avd. Navn fra emp indre sammenføyning
...> på emp.Id = avd.Emp_id
…>
...> Union
…>
…> Velg emp_id, avd
...> på emp.Id = avd.Emp_id;

I spørringen ovenfor av unionsklausulen har vi hentet følgende utfall.

Eksempel 2: Program for å bruke SQLite Union All Clause

Sqlite Union All Clause blir med i kombinasjonen av forskjellige utvalgte operasjoner. Den henter alle rader fra spørringen, med overflødige rader mellom flere utvalgte spørsmål som ikke blir fjernet.

Vi har valgt enhetene emp_id, navn og avd. Deretter har vi unionen all klausul før den andre spørringen. Med den andre utvalgte spørringen har vi hentet enhetene til emp_id, navn og avd. Unionens all klausul brukes mellom de to spørsmålene, som kombinerer alle radene fra flere tabeller som er sammenlignbare. Samtidig kombinerer sammenføyningsklausulen til en indre sammenføyning eller venstre sammenheng kolonner fra forskjellige relaterte tabeller.

Velg emp_id, navn, avd. Navn fra emp indre sammen
...> på emp.Id = avd.Emp_id
…>
...> Union alle
…>
…> Velg emp_id, navn, avd. Navn fra emp til venstre ytre sammenføyning av avd
...> på emp.Id = avd.Emp_id;

Unionen all klausul gir følgende utfall, som vist på figuren.

Eksempel 3: Program for å bruke SQLite Union Order by Clause

Sqlite Union Clause med ordren BY -leddet brukes til å sortere de relevante resultatene. Unionoperatøren brukes i dette eksemplet for å slå sammen tabellene EMP og avd. I en enkelt liste. Bestillingen BY -leddet brukes også til å bestille tabellen etter lønnsattributtet til tabellen.

For det første har vi Select Query der vi har valgt attributtenavnet og lønnen fra tabellen EMP og deretter brukt Union Clause før vi ringte den andre Select Query. Den andre utvalgte spørringen hentet attributtene avd. Navn og emp_id fra tabellen avd. Etter det har vi en ordre etter klausul som bestiller tabellfeltene av emp_id og lønn.

Velg navn, lønn
Fra emp
Union
Velg Dept_Name, emp_id
Fra avd
Ordre av emp_id, lønn;

Feltene er sortert etter EMP ID og lønn, som illustrert nedenfor.

Konklusjon

Til syvende og sist lærte du hvordan du bruker SQLite Union -operatøren til å bli med på oppføringer fra forskjellige tabeller med sett i et enkelt sett med tabeller. Du lærte også hvordan du kan skille mellom unionen og unionen alle klausuler med eksemplet. Eksistensen av union versus union alt er et betydelig skille. Union er den mer effektive driften av de to. Hvis begge velger spørsmål returnerer identiske data, vil en union bare returnere en rad for å unngå oppsigelser. På den andre siden returnerer Union alle oppsigelser, noe som resulterer i en rask spørring og kan være nyttig for de som vil vite hva som kan være i begge spørsmålene.