PostgreSQL Unió, Unió MINDEN példákkal
⚡ Okos összefoglaló
PostgreSQL Az UNION két vagy több SELECT utasítás eredményét egyetlen eredményhalmazba egyesíti, és eltávolítja a duplikált sorokat, míg az UNION ALL minden sort megtart, így gyorsabb megoldást kínál, ha a duplikált sorok nem számítanak.

Mi a PostgreSQL Unió?
Az 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 ugyanannyi oszlopot 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.
Jegyzet: Mivel a UNION operátor nem ad vissza ismétlődő elemeket, a UNION DISTINCT használata nem befolyásolja az eredményeket.
PostgreSQL Unió
Az UNION operátor ugyanúgy távolítja el a duplikátumokat, mint SELECT DISTINCT csinálja. Nézzük meg ezt. Van egy Demo nevű adatbázisunk, amely a következő táblázatokkal rendelkezik:
Könyv:
Ár:
Futtassuk a következő parancsot:
SELECT id FROM Book UNION SELECT id FROM Price;
A parancs a következőt adja vissza:
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 ismétlődő elemeket.
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.
Jegyzet: Mindkét SELECT utasításnak azonos számú kifejezést kell tartalmaznia.
A következő táblázatokat fogjuk használni:
Könyv:
Ár:
Futtassa a következő parancsot:
SELECT id FROM Book UNION ALL SELECT id FROM price;
A következőt kell visszaadnia:
A másolatokat nem távolították el.
RENDEZÉS
Az 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:
Ár2:
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:
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:
A rekordok sorrendje az ár oszlop alapján, csökkenő sorrendben történt.
Mikor használjunk Union és mikor Union All opciót?
Használd az UNION operátort, ha több hasonló szerkezetű, de valamilyen okból szétválasztott táblád van. Akkor hasznos, ha el kell távolítanod vagy meg kell szüntetned az ismétlődő rekordokat.
Használja az UNION ALL operátort, ha nem kell eltávolítania vagy kiküszöbölnie a duplikált rekordokat.
pgAdmin használatával
Most nézzük meg, hogyan hajtható végre mindhárom művelet a pgAdmin használatával.
Hogyan használjuk PostgreSQL Unió a pgAdmin használatával
A következő lépésekben lépésről lépésre bemutatjuk, hogyan kell használni PostgreSQL UNION a pgAdmin-on keresztül:
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2) A bal oldali navigációs sávon kattintson az Adatbázisok, majd a Demó elemre.
Step 3) Í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.
A következőt kell visszaadnia:
Union All
Step 1) Jelentkezzen be pgAdmin fiókjába.
Step 2) A bal oldali navigációs sávon kattintson az Adatbázisok, majd a Demó elemre.
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.
A következőt kell visszaadnia:
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:
Az eredményeket megrendelték.
Töltse le az oktatóanyagban használt adatbázist

















