A JOIN és az UNION közötti különbség az SQL-ben
Tartalom
A JOIN és az UNION az SQL záradékai, amelyeket két vagy több kapcsolat adatainak kombinálására használnak. De az, hogy miként kombinálják az adatokat és a kapott eredmény formátumát, eltérő. A CSATLAKOZIK a záradék két kapcsolat tulajdonságait egyesíti az eredményül kapott tupák kialakításához, míg UNIÓ A záradék két lekérdezés eredményét egyesíti. Az alább bemutatott összehasonlító táblázat segítségével vitassuk meg a JOIN és az UNION közötti különbséget.
- Összehasonlító táblázat
- Meghatározás
- Főbb különbségek
- Következtetés
Összehasonlító táblázat
Az összehasonlítás alapja | CSATLAKOZIK | UNIÓ |
---|---|---|
Alapvető | A JOIN egyesíti a két különféle kapcsolatban lévõ tuple attribútumait, amelyek közös közös mezõkkel vagy attribútumokkal rendelkeznek. | Az UNION egyesíti a lekérdezésben szereplő kapcsolatok párját. |
Állapot | A JOIN akkor alkalmazható, ha a két érintett kapcsolat legalább egy közös tulajdonsággal rendelkezik. | Az UNION akkor alkalmazandó, ha a lekérdezésben jelenlévő oszlopok száma azonos, és a megfelelő attribútumoknak ugyanaz a tartománya. |
típusai | BELSŐ, TELJES (KÜLSŐ), bal oldali csatlakozás, jobb csatlakozás. | UNIÓ és MINDEN. |
Hatás | Az eredményül kapott összefüggések hosszabbak, mint az érintett kapcsolatok meghosszabbításakor. | Az eredményül kapott sablonok száma nagyobb, mint a lekérdezésben részt vevő egyes relációkban jelen lévő sablonok számához képest. |
Diagram |
|
A JOIN meghatározása
CSATLAKOZIK Az SQL záradéka egyesíti a két kapcsolat vagy tábla összetevőit, így hosszabb lesz a megosztás mérete. A kapott tuple mindkét reláció attribútumait tartalmazza. Az attribútumokat a közös attribútumok alapján kombinálják. Az JOIN különféle típusai az SQL-ben Belső csatlakozás, bal csatlakozás, jobb csatlakozás, teljes külső csatlakozás.
BELSŐ ÖSSZEKAPCSOLÁS egyesíti mindkét tábla tábláit, mindaddig, amíg mindkettő közös tulajdonsággal rendelkezik. Bal csatlakozás eredményt ad a bal oldali asztal összes táblája és a jobb oldali táblázat illeszkedő eredménye. JÓ CSATLAKOZÁS a jobb oldali táblából származó összes paramétert eredményezi, a bal oldali táblából csak az illesztési eredményt eredményez. TELJES KIEGÉSZÍTÉS eredményt eredményez mind a táblázat összes táblája, bár rendelkeznek megfelelő attribútumokkal vagy sem.
A BELSŐ JOIN ugyanaz, mint a JOIN. Az INNER kulcsszót el is dobhatja, és egyszerűen a JOIN használatával hajthatja végre az INNER JOIN elemet.
AZ UNIÓ meghatározása
UNION egy meghatározott művelet az SQL-ben. Az UNON két lekérdezés eredményét egyesíti. Az UNION eredménye magában foglalja a lekérdezésben szereplő mindkét kapcsolat megjegyzését. A feltételeknek, amelyeknek teljesülniük kell, hogy az Unió két kapcsolata felmerüljön:
- A két kapcsolatnak azonos számú attribútummal kell rendelkeznie.
- A megfelelő attribútum tartományának azonosnak kell lennie.
Kétféle UNIÓ létezik UNIÓ és MINDEN UNIÓ. Az UNION használatával kapott eredmény nem tartalmaz másolatokat. Másrészről, az UNION ALL használatával kapott eredmény megőrzi a másolatot.
- Az elsődleges különbség a JOIN és az UNION között az, hogy a JOIN egyesíti a két kapcsolat megnevezését, az eredményül kapott összetevők pedig mindkét kapcsolat attribútumait tartalmazzák. Másrészt az UNION két SELECT lekérdezés eredményét egyesíti.
- A JOIN-záradék csak akkor alkalmazható, ha a két érintett kapcsolat legalább egy tulajdonsággal rendelkezik, mindkettőben. Másrészt az UNION akkor alkalmazandó, ha a két kapcsolat azonos számú attribútummal rendelkezik, és a megfelelő attribútumok domainjei azonosak.
- Négyféle típusú JOIN INNER JOIN, LEFT JOIN, JOBB JOIN, TELJES KÜLSŐ CSATLAKOZÁS van. De van kétféle UNIÓ, UNION és UNION ALL.
- A JOIN-ban az eredményül kapott tupla nagyobb, mivel mindkét reláció attribútumait tartalmazza. Másrészt az UNION-ban megnőtt a párosulások száma, aminek eredményeként a lekérdezésben szereplő mindkét kapcsolatról felveszik a csatolást.
Következtetés:
Mindkettőt adatkombinációs műveletekként használják különböző helyzetekben. A JOIN akkor használatos, ha két kapcsolat olyan attribútumait akarjuk kombinálni, amelyeknek legalább egy tulajdonsága közös. Az UNION akkor használatos, amikor a lekérdezésben szereplő két kapcsolat tuplait szeretnénk kombinálni.