PostgreSQL Unioni, unioni KAIKKI esimerkkeineen
Mikä on PostgreSQL Liitto?
- PostgreSQL UNION-operaattoria käytetään useamman kuin yhden SELECT-lauseen tulosjoukkojen yhdistämiseen yhdeksi tulosjoukoksi. Kaikki päällekkäiset rivit SELECT-lausekkeiden tuloksista poistetaan. UNION-operaattori toimii kahdella ehdolla:
- SELECT-kyselyiden PITÄÄ palauttaa samanlainen määrä kyselyjä.
- Kaikkien vastaavien sarakkeiden tietotyyppien on oltava yhteensopivia.
UNION-operaattoria käytetään tavallisesti yhdistämään tietoja toisiinsa liittyvistä taulukoista, joita ei ole normalisoitu täydellisesti.
Syntaksi
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Tässä on selitys yllä oleville parametreille:
Lauseke_1, lauseke_2, … lauseke_n ovat laskelmia tai sarakkeita, jotka sinun on noudettava.
Taulukot ovat taulukoita, joista sinun on haettava tietueita.
WHERE-ehdot ovat ehdot, jotka on täytettävä, jotta tietueet voidaan noutaa.
Huomaa: koska UNION-operaattori ei palauta kaksoiskappaleita, UNION DISTINCTin käyttö ei vaikuta tuloksiin.
PostgreSQL Liitto
UNION-operaattori poistaa kaksoiskappaleet. Osoittakaamme tämä.
Meillä on Demo-niminen tietokanta, jossa on seuraavat taulukot:
Kirja:
Hinta:
Suoritetaan seuraava komento:
SELECT id FROM Book UNION SELECT id FROM Price;
Komento palauttaa seuraavan:
Id-sarake näkyy sekä Kirja- että Hinta-taulukoissa. Se näkyy kuitenkin vain kerran tuloksessa. Syynä on se PostgreSQL UNION-operaattori ei palauta kaksoiskappaleita.
PostgreSQL Unioni Kaikki
Tämä operaattori yhdistää tulosjoukot useammasta kuin yhdestä SELECT-käskystä poistamatta kaksoiskappaleita. Operaattori edellyttää, että jokaisessa SELECT-lauseessa on samanlainen määrä kenttiä samantyyppisissä tulosjoukoissa.
Syntaksi:
SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)] UNION ALL SELECT expression_1, expression_2, ... expression_n FROM tables [WHERE condition(s)];
Tässä on selitys yllä oleville parametreille:
Lauseke_1, lauseke_2, … lauseke_n ovat laskelmia tai sarakkeita, jotka sinun on noudettava.
Taulukot ovat taulukoita, joista sinun on haettava tietueita.
WHERE-ehdot ovat ehdot, jotka on täytettävä, jotta tietueet voidaan noutaa.
Huomautus: Molemmissa lausekkeissa on oltava yhtä monta lauseketta.
Käytämme seuraavia taulukoita:
Kirja:
Hinta:
Suorita seuraava komento:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Sen pitäisi palauttaa seuraavat tiedot:
Kaksoiskappaleita ei ole poistettu.
TILAUS
- PostgreSQL UNION-operaattoria voidaan käyttää yhdessä ORDER BY -lauseen kanssa kyselyn tulosten järjestämiseen. Tämän osoittamiseksi käytämme seuraavia taulukoita:
Hinta:
Hinta2:
Tässä on komento, joka näyttää kuinka UNION-operaattoria käytetään yhdessä ORDER BY -lauseen kanssa:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price;
Komento palauttaa seuraavan:
Tietueet järjestettiin hintasarakkeen mukaan. Lause järjestää tietueet oletusarvoisesti nousevaan järjestykseen. Järjestä ne laskevassa järjestyksessä lisäämällä DESC-lauseke alla olevan kuvan mukaisesti:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Komento palauttaa seuraavan:
Tietueet on järjestetty hintasarakkeen perusteella laskevassa järjestyksessä.
Milloin Unionia ja Milloin Unionia käytetään?
Käytä UNION-operaattoria, kun sinulla on useita taulukoita, joilla on samanlainen rakenne, mutta jotka on jaettu syystä. Se on hyvä, kun haluat poistaa/poistaa päällekkäisiä tietueita.
Käytä UNION ALL -operaattoria, kun sinun ei tarvitse poistaa tai poistaa päällekkäisiä tietueita.
pgAdminin avulla
Katsotaan nyt, kuinka kaikki kolme toimintoa suoritettiin pgAdminilla.
Kuinka käyttää PostgreSQL Unioni käyttämällä pgAdminia
Seuraavassa on vaiheittainen prosessi kuinka sitä käytetään PostgreSQL Unioni käyttämällä pgAdminia
Suorita sama pgAdminin kautta seuraavasti:
Vaihe 1) Kirjaudu
Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2) Napsauta Tietokannat
- Valitse vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely
Kirjoita kysely kyselyeditoriin:
SELECT * FROM Price UNION SELECT * FROM Price2 ORDER BY price DESC;
Vaihe 4) Napsauta Suorita-painiketta.
Napsauta seuraavaksi Suorita-painiketta. Kuten alla olevasta kuvasta näkyy.
Sen pitäisi palauttaa seuraavat tiedot:
Unioni Kaikki
Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.
Vaihe 2)
- Napsauta vasemmalla olevasta navigointipalkista Tietokannat.
- Napsauta Demo.
Vaihe 3) Kirjoita kysely kyselyeditoriin:
SELECT id FROM Book UNION ALL SELECT id FROM price;
Vaihe 4) Napsauta Suorita-painiketta.
Sen pitäisi palauttaa seuraavat tiedot:
TILAUS
UNION ALL -operaattori voidaan yhdistää ORDER BY -lauseeseen, jotta tulokset järjestyvät tulosjoukossa. Esimerkiksi:
SELECT id FROM Book UNION ALL SELECT id FROM price ORDER BY id;
Komento palauttaa seuraavan:
Tulokset on tilattu.
Yhteenveto
- - PostgreSQL UNION-operaattori yhdistää tulokset useammasta kuin yhdestä SELECT-lause yhteen tulossarjaan.
- UNION-operaattori ei palauta päällekkäisiä tietueita.
- Tilaa tulokset yhdistämällä se ORDER BY -lauseeseen.
- UNION ALL -operaattori yhdistää useamman kuin yhden SELECT-käskyn tulokset yhdeksi tulosjoukoksi.
- UNION ALL -operaattori ei poista kaksoiskappaleita.
Lataa tässä opetusohjelmassa käytetty tietokanta