logo

Ero Unionin ja Union Allin välillä

UNION ja UNION ALL ovat kaksi tärkeintä SQL-operaattoria, joita tietokannassa käytetään useiden taulukoiden tulosjoukon yhdistämiseen. Näiden operaattorien avulla voimme käyttää useita SELECT-kyselyitä, hakea halutut tulokset ja yhdistää ne sitten lopulliseksi tuotokseksi . Tässä artikkelissa aiomme nähdä, kuinka ne eroavat toisistaan. Ennen vertailun tekemistä keskustelemme lyhyesti näistä operaattoreista.

Mikä on unionin toimija?

Union-operaattori MySQL:ssä antaa meille mahdollisuuden yhdistää kaksi tai useampia tuloksia useista SELECT-kyselyistä yhdeksi tulosjoukoksi. Siinä on oletusominaisuus poista päällekkäiset rivit pöydistä. Tämä operaattorisyntaksi käyttää aina sarakkeen nimeä ensimmäisessä SELECT-käskyssä tulosteen sarakkeiden niminä.

MySQL Unionin on noudatettava näitä perussääntöjä:

  • Sarakkeiden lukumäärän ja järjestyksen tulee olla sama kaikissa kyselyissä.
  • Jokaisen valintakyselyn vastaavilla sarakkeiden sijainnilla on oltava yhteensopiva tietotyyppi.
  • Eri SELECT-kyselyissä valitun sarakkeen nimen on oltava samassa järjestyksessä.
  • Ensimmäisen SELECT-kyselyn sarakkeen nimi on tulosteen sarakkeen nimi.

HUOMAA: Meidän on tiedettävä, että Unioni ja Join ovat erilaisia.

  1. JOIN yhdistää tiedot useista eri taulukoista, kun taas UNION yhdistää tiedot useista samankaltaisista taulukoista.
  2. JOIN liittää tulosteen vaakasuunnassa, kun taas UNION yhdistää tulosjoukon pystysuunnassa.

Alla oleva visuaalinen esitys selittää sen selkeämmin:

Unioni vs Union All

Lue lisää Union-operaattorista napsauttamalla tätä.

Mikä on Union All?

UNION ALL -operaattori yhdistää kaksi tai useampia tuloksia useista SELECT-kyselyistä ja palauttaa kaikki tietueet yhdeksi tulosjoukoksi. Se ei poista päällekkäisiä rivejä SELECT-käskyjen lähdöstä.

Voimme ymmärtää sen seuraavan visuaalisen esityksen avulla.

Unioni vs Union All

Union vs. Union All -operaattori

Seuraava vertailutaulukko selittää niiden tärkeimmät erot nopeasti:

LIITTO UNIONI KAIKKI
Se yhdistää tulosjoukon useista taulukoista ja palauttaa erilliset tietueet yhdeksi tulossarjaksi. Se yhdistää tulosjoukon useista taulukoista ja palauttaa kaikki tietueet yhdeksi tulossarjaksi.
Seuraavassa on perusasia syntaksi UNION-operaattori:
VALITSE sarakkeen_luettelo FROM taulukosta1
LIITTO
SELECT sarakeluettelo FROM table2;
Seuraavassa on perusasia syntaksi UNION ALL -operaattorista:
VALITSE sarakkeen_luettelo FROM taulukosta1
UNIONI KAIKKI
SELECT sarakeluettelo FROM table2;
Siinä on oletusominaisuus, joka poistaa päällekkäiset rivit tulosteesta. Siinä ei ole toimintoa, joka poistaisi päällekkäisiä rivejä lähdöstä.
Sen suorituskyky on hidasta koska päällekkäisten tietueiden löytäminen ja poistaminen vie aikaa. Sen suorituskyky on nopea koska se ei poista päällekkäisiä rivejä.
Useimmat tietokannan käyttäjät haluavat käyttää tätä operaattoria. Useimmat tietokannan käyttäjät eivät halua käyttää tätä operaattoria.

Unioni ja Union All Esimerkki

Ymmärrämme erot Unionin ja Union All -operaattoreiden välillä esimerkin avulla. Oletetaan, että meillä on taulukko nimeltä Opiskelija ' ja ' Opiskelija 2 ', joka sisältää seuraavat tiedot:

Taulukko: Opiskelija

Unioni vs Union All

Taulukko: Opiskelija2

Unioni vs Union All

Seuraava SQL-käsky palauttaa kaupunkien erillinen nimi molemmista taulukoista UNION-kyselyllä:

 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

Yllä olevan lauseen suorittamisen jälkeen saamme alla olevan tulosteen, koska Union-operaattori palauttaa vain erilliset arvot.

Unioni vs Union All

Seuraava SQL-lause palauttaa kaikkien kaupunkien nimet, mukaan lukien kaksoiskappaleet molemmista taulukoista UNION ALL -kyselyllä:

 SELECT City FROM student UNION ALL SELECT City FROM student2 ORDER BY City; 

Yllä olevan käskyn suorittamisen jälkeen saamme alla olevan tulosteen, koska Union All -operaattori palauttaa kokonaisia ​​tietueita poistamatta erillisiä arvoja.

Unioni vs Union All