Összehasonlító táblázat
Az összehasonlítás alapja | CSATLAKOZIK | UNIÓ |
---|---|---|
Alapvető | A JOIN egyesíti a két különböző kapcsolaton belül jelen lévő attribútumok attribútumait, amelyek megosztják a közös mezőket vagy attribútumokat. | Az UNION egyesíti a lekérdezésben jelenlévő kapcsolatok sorait. |
Feltétel | A JOIN akkor alkalmazható, ha a két érintett kapcsolat legalább egy közös attribútummal rendelkezik. | Az UNION akkor alkalmazható, ha a lekérdezésben lévő oszlopok száma megegyezik, és a megfelelő attribútumok azonos tartományban vannak. |
típusai | INNER, FULL (KÜLSŐ), LEFT JOIN, RIGHT JOIN. | UNION és az UNION ALL. |
Hatás | A kapott rekordok hossza több, mint az érintett kapcsolatok hosszának hossza. | Az eredményül kapott sorok száma több, mint a lekérdezésben részt vevő egyes kapcsolatokban jelenlévő számok száma. |
Diagram |
A JOIN meghatározása
Az SQL JOIN záradék a két kapcsolatból vagy táblából álló sorokat egyesíti, ami hosszabb tuple méretet eredményez. Az eredményül kapott rekord mind a reláció attribútumait tartalmazza. Az attribútumokat a közöttük lévő közös attribútumok alapján kombinálják. Az SQL-ben található JOIN különböző típusai INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.
Az INNER JOIN kombinálja a táblákat mindkét táblából mindaddig, amíg mindkettő közös tulajdonsága van. A LEFT JOIN a bal oldali asztal összes sorát és a megfelelő táblázatból származó eredményt eredményezi. A JOBB ELLENŐRZÉS eredményezi a jobb oldali összes rekordot, és csak a bal oldali táblázatból egyezik meg. A FULL OUTER JOIN mindkét rekordot mindkét táblázatból eredményezi, bár megfelelő attribútumokkal rendelkeznek.
Az INNER JOIN ugyanaz, mint a JOIN. Az INNER kulcsszót is elhagyhatja, és egyszerűen használhatja a JOIN-t az INNER JOIN végrehajtásához.
Az UNION meghatározása
Az UNION egy meghatározott művelet SQL-ben. Az UNON két lekérdezés eredményét egyesíti. Az UNION eredménye magában foglalja a lekérdezésekben található kapcsolatok mindegyikét. A két kapcsolat fennállásának feltételei:
- A két kapcsolatnak azonos számú attribútummal kell rendelkeznie.
- A megfelelő attribútum tartományának azonosnak kell lennie.
Az UNION és az UNION ALL mind két típusa létezik. Az UNION használatával kapott eredmény nem tartalmaz duplikátumokat. Másrészről, az UNION ALL segítségével kapott eredmény megőrzi a másolatot.
A JOIN és az UNION közötti különbségek SQL-ben
- A JOIN és az UNION között az elsődleges különbség az, hogy a JOIN egyesíti a két kapcsolattartót és az eredményül kapott sorok mindkét kapcsolat attribútumait tartalmazzák. Másrészről 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 kapcsolatnak legalább egy közös jellemzője van mindkettőben. Másrészt az UNION akkor alkalmazható, ha a két kapcsolat azonos számú attribútummal rendelkezik, és a megfelelő attribútumok tartományai azonosak.
- Négyféle típusú JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN van. Az UNION, az UNION és az UNION ALL két típusa van.
- A JOIN-ban a kapott rekord nagyobb méretű, mivel mindkét kapcsolat attribútumait tartalmazza. Másrészről, az UNION-ban a rekordok száma növekszik, aminek eredményeképpen a lekérdezésben lévő kapcsolatok mindegyikét tartalmazza a tuple.
Következtetés:
Mindkét adatkombinációs műveletet különböző helyzetekben használják. A JOIN-t akkor használjuk, ha két, legalább egy közös jellemzővel rendelkező kapcsolat attribútumait szeretnénk kombinálni. Az UNION-t akkor használjuk, ha a lekérdezésben jelenlévő két kapcsolat sorait szeretnénk egyesíteni.