logo

Különbség az Unió és az Unió összes között

Az UNION és az UNION ALL a két legfontosabb SQL operátor, amelyet az adatbázisban használnak a több táblából származó eredménykészlet kombinálására. Ezek az operátorok lehetővé teszik számunkra, hogy több SELECT lekérdezést használjunk, lekérjük a kívánt eredményeket, majd kombináljuk őket egy végső kimenetté . Ebben a cikkben meglátjuk, miben különböznek egymástól. Az összehasonlítás előtt röviden megbeszéljük ezeket az operátorokat.

Mi az az uniós szolgáltató?

A MySQL Union operátora lehetővé teszi számunkra, hogy több SELECT lekérdezésből származó két vagy több eredményt egyetlen eredményhalmazba vonjunk össze. Van egy alapértelmezett funkciója távolítsa el az ismétlődő sorokat az asztaloktól. Ez az operátor szintaxis mindig az oszlop nevét használja az első SELECT utasításban a kimenet oszlopneveiként.

MySQL Az Uniónak be kell tartania az alábbi alapvető szabályokat:

blokkolja a YouTube-hirdetéseket androidon
  • Az oszlopok számának és sorrendjének minden lekérdezésben azonosnak kell lennie.
  • Az egyes kiválasztási lekérdezések megfelelő oszloppozíciójának kompatibilis adattípussal kell rendelkeznie.
  • A különböző SELECT lekérdezésekben kiválasztott oszlopnévnek ugyanabban a sorrendben kell lennie.
  • Az első SELECT lekérdezés oszlopneve lesz a kimenet oszlopneve.

MEGJEGYZÉS: Tudnunk kell, hogy az Unió és a Join különböznek egymástól.

  1. A JOIN több különböző tábla adatait egyesíti, míg az UNION több hasonló tábla adatait egyesíti.
  2. A JOIN vízszintesen hozzáfűzi a kimenetet, míg az UNION függőlegesen kombinálja az eredménykészletet.

Az alábbi vizuális ábrázolás világosabban magyarázza ezt:

Unió vs Union All

Az Unió üzemeltetőjével kapcsolatos további információkért kattintson ide.

Mi az a Union All?

Az UNION ALL operátor több SELECT lekérdezés két vagy több eredményét kombinálja, és az összes rekordot egyetlen eredményhalmazba adja vissza. Nem távolítja el az ismétlődő sorokat a SELECT utasítások kimenetéből.

A következő vizuális ábrázolással érthetjük meg.

string.java-t tartalmaz
Unió vs Union All

Union vs Union All Operator

Az alábbi összehasonlító táblázat gyorsan elmagyarázza ezek főbb különbségeit:

UNIÓ UNION ALL
Egyesíti az eredményhalmazt több táblázatból és külön rekordokat ad vissza egyetlen eredményhalmazba. Egyesíti az eredményhalmazt több táblázatból és visszaadja az összes rekordot egyetlen eredményhalmazba.
A következő az alap szintaxis UNION operátor:
SELECT oszlop_lista FROM táblázat1
UNIÓ
SELECT oszlop_lista FROM tábla2;
A következő az alap szintaxis UNION ALL operátor:
SELECT oszlop_lista FROM táblázat1
UNION ALL
SELECT oszlop_lista FROM tábla2;
Alapértelmezés szerint eltávolítja a duplikált sorokat a kimenetből. Nem rendelkezik olyan funkcióval, amely eltávolítja a duplikált sorokat a kimenetből.
Az a teljesítmény lassú mert időbe telik az ismétlődő rekordok megtalálása, majd eltávolítása. Az a teljesítmény gyors mert nem szünteti meg az ismétlődő sorokat.
A legtöbb adatbázis-felhasználó inkább ezt az operátort használja. A legtöbb adatbázis-felhasználó nem preferálja ezt az operátort.

Union and Union All Példa

Egy példán keresztül értsük meg az Union és az Union All operátorok közötti különbségeket. Tegyük fel, hogy van egy táblánk Diák ' és ' Diák 2 ', amely a következő adatokat tartalmazza:

Táblázat: Diák

Unió vs Union All

táblázat: Diák2

Unió vs Union All

Az SQL utasítást követően a városok külön neve mindkét táblából az UNION lekérdezéssel:

java rendezési lista
 SELECT City FROM student UNION SELECT City FROM student2 ORDER BY City; 

A fenti utasítás végrehajtása után az alábbi kimenetet kapjuk, mivel az Union operátor csak a különálló értékeket adja vissza.

Unió vs Union All

A következő SQL utasítás visszatér minden város neve, beleértve a másolatokat is mindkét táblából az UNION ALL lekérdezéssel:

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

A fenti utasítás végrehajtása után az alábbi kimenetet kapjuk, mivel az Union All operátor teljes rekordokat ad vissza anélkül, hogy különálló értékeket törölne.

Unió vs Union All