SQL-ero Unionin, Union Allin ja Union Distinct -operaattoreiden välillä

Sql Ero Unionin Union Allin Ja Union Distinct Operaattoreiden Valilla



SQL tarjoaa meille UNION-operaattorin, jonka avulla voimme yhdistää kahden tai useamman SELECT-lauseen tulosjoukot yhdeksi tulosjoukoksi. SQL:ssä on kolme päätyyppiä UNION-operaattoreita: UNION, UNION ALL ja UNION DISTINCT.

Tämä opetusohjelma tutkii näitä kolmea UNIONIT-tyyppiä ja tarjoaa todellisia ja käytännön esimerkkejä niiden kanssa työskentelystä.







HUOMAUTUS: Tässä esimerkissä käytämme esittelytarkoituksiin Sakila-mallitietokantaa. Varmista, että se on asennettu ennen näiden komentojen suorittamista. Voit katsoa opetusohjelmaamme saadaksesi lisätietoja.



SQL UNION -operaattori

Kuten mainittiin, UNION-operaattori antaa meille mahdollisuuden yhdistää kahden tai useamman valitun lausekkeen tulosjoukon ja poistaa päällekkäiset arvot. UNION-operaattorin syntaksi on seuraava:



VALITSE sarake1, sarake2, ...
taulukosta 1
LIITTO
VALITSE sarake1, sarake2, ...
FROM table2;


Edellisessä esimerkkisyntaksissa käytämme SELECT-käskyjä tietojen hakemiseen määritetyistä taulukoista. UNION-operaattori yhdistää sitten kaksi tulosjoukkoa yhdeksi joukoksi. Otetaan esimerkki, kuinka tämä tehdään Sakila-tietokannassa määritellyllä toimijataulukolla.





Harkitse seuraavaa esimerkkikyselyä, joka hakee näyttelijöiden etu- ja sukunimet näyttelijätaulukosta ja asiakkaan taulukosta:

VALITSE etunimi, sukunimi
näyttelijältä
LIITTO
VALITSE etunimi, sukunimi
Asiakkaalta; VALITSE etunimi, sukunimi
näyttelijältä
LIITTO
VALITSE etunimi, sukunimi
Asiakkaalta;


Edellinen kysely lisää etu- ja sukunimet sekä toimija- että asiakastaulukoista ja palauttaa arvot yhtenä tuloksena.



Esimerkkituloste on seuraava:

SQL UNION ALL -operaattori

Toisin kuin UNION-operaattori, joka poistaa kaksoisarvot tulosjoukosta, UNION-operaattori palauttaa kaikki taulukon rivit, mukaan lukien kaksoiskappaleet.

Syntaksi on seuraava:

VALITSE sarake1, sarake2, ...
taulukosta 1
UNIONI KAIKKI
VALITSE sarake1, sarake2, ...
FROM table2;


Seuraava esimerkki valitsee etu- ja sukunimen Sakila-tietokannan toimija- ja asiakastaulukoista:

VALITSE etunimi, sukunimi
näyttelijältä
UNIONI KAIKKI
VALITSE etunimi, sukunimi
Asiakkaalta;


Esimerkkituloste on seuraava:

SQL UNION DISTINCT Operaattori

Toinen ammattiliiton operaattorityyppi on UNION DISTINCT. Tämä operaattori on yksinkertaisesti kopio UNION-operaattorista, joka suorittaa samanlaisen toiminnon.

Syntaksi on seuraava:

VALITSE sarake1, sarake2, ...
taulukosta 1
UNIONIN EROTUS
VALITSE sarake1, sarake2, ...
FROM table2;


SELECT-käskyt hakevat tiedot määritetyistä taulukoista, ja UNION DISTINCT -operaattori yhdistää tulosjoukot yhdeksi tulosjoukoksi, joka sisältää yksilölliset rivit.

Sakila-tietokannan esimerkissä voimme suorittaa seuraavan komennon:

VALITSE etunimi, sukunimi
näyttelijältä
UNIONIN EROTUS
VALITSE etunimi, sukunimi
Asiakkaalta;


Tämän pitäisi palauttaa samanlainen tulos kuin UNION-operaattori.

Johtopäätös

Opimme työskentelemään erityyppisten UNIONSien kanssa SQL:ssä. UNION-operaattori yhdistää kahden tai useamman valitun lausekkeen tulosjoukon ja poistaa päällekkäiset tietueet. UNION ALL suorittaa samanlaisen toiminnon, mutta sisältää kaikki päällekkäiset rivit. Lopuksi UNION DISTINCT on identtinen alkuperäisen UNION-operaattorin kanssa.