PostgreSQL Unió, Unió MINDEN példákkal

Mi a PostgreSQL Unió?

A PostgreSQL Az UNION operátor egynél több SELECT utasítás eredményhalmazainak egy eredményhalmazba való kombinálására szolgál. A SELECT utasítások eredményeiből a duplikált sorok megszűnnek. Az UNION operátora két feltétel mellett működik:

  • A SELECT lekérdezéseknek hasonló számú lekérdezést KELL visszaadniuk.
  • Az összes megfelelő oszlop adattípusának kompatibilisnek kell lennie.

Az UNION operátort általában a nem tökéletesen normalizált kapcsolódó táblákból származó adatok kombinálására használják.

Szintaxis

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)];

Íme a fenti paraméterek magyarázata:

A kifejezés_1, kifejezés_2, … kifejezés_n azok a számítások vagy oszlopok, amelyeket le kell kérnie.

A táblák azok a táblák, amelyekből rekordokat kell lekérni.

A WHERE feltétel(ek) azok a feltételek, amelyeknek teljesülniük kell a rekordok lekéréséhez.

Megjegyzés: mivel az UNION operátor nem ad vissza duplikációkat, az UNION DISTINCT használata nincs hatással az eredményekre.

PostgreSQL Unió

Az UNION operátor eltávolítja a duplikációkat. Mutassuk meg ezt.

Van egy Demo nevű adatbázisunk a következő táblázatokkal:

Könyv:

PostgreSQL Unió

Ár:

PostgreSQL Unió

Futtassuk a következő parancsot:

SELECT id
FROM Book
UNION
SELECT id
FROM Price;

A parancs a következőt adja vissza:

PostgreSQL Unió

Az azonosító oszlop a Könyv és az Ár táblázatban is megjelenik. Ez azonban csak egyszer jelenik meg az eredményben. Az ok az PostgreSQL Az UNION operátor nem ad vissza másolatokat.

PostgreSQL Union All

Ez az operátor több SELECT utasítás eredményhalmazait kombinálja anélkül, hogy eltávolítaná az ismétlődéseket. Az operátor megköveteli, hogy minden SELECT utasításnak hasonló számú mezője legyen a hasonló adattípusú eredményhalmazokban.

Syntax:

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)];

Íme a fenti paraméterek magyarázata:

A kifejezés_1, kifejezés_2, … kifejezés_n azok a számítások vagy oszlopok, amelyeket le kell kérnie.

A táblák azok a táblák, amelyekből rekordokat kell lekérni.

A WHERE feltétel(ek) azok a feltételek, amelyeknek teljesülniük kell a rekordok lekéréséhez.

Megjegyzés: Mindkét kifejezésnek azonos számú kifejezést kell tartalmaznia.

A következő táblázatokat fogjuk használni:

Könyv:

PostgreSQL Union All

Ár:

PostgreSQL Union All

Futtassa a következő parancsot:

 
SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

A következőt kell visszaadnia:

PostgreSQL Union All

A másolatokat nem távolították el.

RENDEZÉS

A PostgreSQL A UNION operátor az ORDER BY záradékkal együtt használható a lekérdezés eredményeinek rendezésére. Ennek bemutatására a következő táblázatokat használjuk:

Ár:

RENDEZÉS

Ár2:

RENDEZÉS

Itt található a parancs, amely bemutatja, hogyan kell használni az UNION operátort az ORDER BY záradékkal együtt:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price;

A parancs a következőt adja vissza:

RENDEZÉS

A rekordokat az ár oszlop szerint rendeztük. A záradék alapértelmezés szerint növekvő sorrendben rendezi a rekordokat. Ha csökkenő sorrendbe szeretné rendezni őket, adja hozzá a DESC záradékot az alábbiak szerint:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

A parancs a következőt adja vissza:

RENDEZÉS

A rekordok sorrendje az ár oszlop alapján, csökkenő sorrendben történt.

Mikor használjuk az Uniót és mikor az Union all-t?

Használja az UNION operátort, ha több hasonló szerkezetű, de okkal felosztott táblája van. Ez akkor jó, ha el kell távolítania/ki kell törölnie az ismétlődő rekordokat.

Használja az UNION ALL operátort, ha nem kell eltávolítania/megszüntetnie az ismétlődő rekordokat.

pgAdmin használatával

Most nézzük meg, hogyan történt mindhárom művelet a pgAdmin használatával.

Hogyan használjuk PostgreSQL Unió a pgAdmin használatával

Az alábbiakban lépésről lépésre bemutatjuk, hogyan kell használni PostgreSQL Unió a pgAdmin használatával

Ha ugyanezt a pgAdminon keresztül szeretné elérni, tegye a következőket:

Step 1) Belépés
Jelentkezzen be pgAdmin fiókjába.

Step 2) Kattintson az Adatbázisok elemre

  1. A bal oldali navigációs sávban kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Felhasználás PostgreSQL Unió a pgAdmin használatával

Step 3) Írja be a lekérdezést
Írja be a lekérdezést a lekérdezésszerkesztőbe:

SELECT *
FROM Price
UNION
SELECT *
FROM Price2
ORDER BY price DESC;

Step 4) Kattintson a Végrehajtás gombra.
Ezután kattintson a Végrehajtás gombra. Ahogy az alábbi képen látható.

Felhasználás PostgreSQL Unió a pgAdmin használatával

A következőt kell visszaadnia:

Felhasználás PostgreSQL Unió a pgAdmin használatával

Union All

Step 1) Jelentkezzen be pgAdmin fiókjába.

Step 2)

  1. A bal oldali navigációs sávon kattintson az Adatbázisok elemre.
  2. Kattintson a Demo gombra.

Felhasználás PostgreSQL Union All A pgAdmin használatával

Step 3) Írja be a lekérdezést a lekérdezésszerkesztőbe:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price;

Step 4) Kattintson a Végrehajtás gombra.

Felhasználás PostgreSQL Union All A pgAdmin használatával

A következőt kell visszaadnia:

Felhasználás PostgreSQL Union All A pgAdmin használatával

RENDEZÉS

Az UNION ALL operátor kombinálható az ORDER BY záradékkal, hogy az eredményeket az eredményhalmazban rendezze. Például:

SELECT id
FROM Book
UNION ALL
SELECT id
FROM price
ORDER BY id;

A parancs a következőt adja vissza:

Felhasználás PostgreSQL MEGRENDELÉS A pgAdmin segítségével

Az eredményeket megrendelték.

Összegzésként

  • A PostgreSQL Az UNION operátor egynél több eredményét egyesíti SELECT utasítás egy eredményhalmazba.
  • Az UNION operátor nem ad vissza ismétlődő rekordokat.
  • Az eredmények rendezéséhez kapcsolja össze az ORDER BY záradékkal.
  • Az UNION ALL operátor egynél több SELECT utasítás eredményeit egyesíti egy eredményhalmazba.
  • Az UNION ALL operátor nem távolítja el a duplikációkat.

Töltse le az oktatóanyagban használt adatbázist