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:

PostgreSQL Liitto

Hinta:

PostgreSQL Liitto

Suoritetaan seuraava komento:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

Komento palauttaa seuraavan:

PostgreSQL Liitto

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:

PostgreSQL Unioni Kaikki

Hinta:

PostgreSQL Unioni Kaikki

Suorita seuraava komento:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Sen pitäisi palauttaa seuraavat tiedot:

PostgreSQL Unioni Kaikki

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:

TILAUS

Hinta2:

TILAUS

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:

TILAUS

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:

TILAUS

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

  1. Valitse vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

Käyttää PostgreSQL Unioni käyttämällä pgAdminia

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.

Käyttää PostgreSQL Unioni käyttämällä pgAdminia

Sen pitäisi palauttaa seuraavat tiedot:

Käyttää PostgreSQL Unioni käyttämällä pgAdminia

Unioni Kaikki

Vaihe 1) Kirjaudu sisään pgAdmin-tilillesi.

Vaihe 2)

  1. Napsauta vasemmalla olevasta navigointipalkista Tietokannat.
  2. Napsauta Demo.

Käyttää PostgreSQL Union All käyttäen pgAdminia

Vaihe 3) Kirjoita kysely kyselyeditoriin:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Vaihe 4) Napsauta Suorita-painiketta.

Käyttää PostgreSQL Union All käyttäen pgAdminia

Sen pitäisi palauttaa seuraavat tiedot:

Käyttää PostgreSQL Union All käyttäen pgAdminia

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:

Käyttää PostgreSQL TILAA käyttämällä pgAdminia

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