Saját illesztések használata
Az eddig használt illesztések különböző táblákat használtak. Lehetnek olyan forgatókönyvek, amelyekben le kell kérnie és össze kell hasonlítania egy táblából származó sorokat az ugyanazon tábla többi sorával. Egy emberierőforrás-alkalmazásban például egy Alkalmazott tábla információkat tartalmazhat az egyes alkalmazottak feletteséről, és tárolhatja a vezető azonosítóját az alkalmazott saját sorában. Minden vezető alkalmazottként is szerepel a listán.
Dolgozói azonosító
Keresztnév
Managerazonosító
0
Dan
NULLA
2
Aisha
0
3
Rosie
0
4
Naomi
3
Az alkalmazottak adatainak lekéréséhez és a kapcsolódó vezetővel való egyeztetéséhez kétszer használhatja a táblát a lekérdezésben, és a lekérdezés céljaira összekapcsolhatja azokat önmagával.
SELECT emp.FirstName AS Employee,
mgr.FirstName AS Manager
FROM HR.Employee AS emp
LEFT OUTER JOIN HR.Employee AS mgr
ON emp.ManagerID = mgr.EmployeeID;
A lekérdezés eredményei közé tartozik egy sor minden alkalmazotthoz a felettesük nevével. A cég vezérigazgatójának nincs menedzsere. A vezérigazgatónak az eredményekbe való belefoglalásához külső illesztést használ, és a kezelő neve NULL értékként lesz visszaadva azoknál a soroknál, ahol a ManagerID mező nem rendelkezik egyező EmployeeID mezővel.
Alkalmazott
Kezelő
Dan
NULLA
Aisha
Dan
Rosie
Dan
Naomi
Rosie
Vannak más forgatókönyvek is, amelyekben egy tábla sorait szeretné összehasonlítani ugyanabban a táblában lévő különböző sorokkal. Ahogy azt már láthatta, meglehetősen egyszerű összehasonlítani az ugyanabban a sorban lévő oszlopokat A T-SQL használatával, de a különböző sorok értékeinek összehasonlítására szolgáló módszer (például egy kezdő időpontot tároló sor, egy másik sor ugyanabban a táblában, amely a megfelelő leállítási időt tárolja) kevésbé nyilvánvaló. Az önbeillesztés hasznos módszer az ilyen típusú lekérdezésekhez.
Az ilyen feladatok elvégzéséhez vegye figyelembe az alábbi irányelveket:
- Azonos tábla két példányát definiálja a FROM záradékban, és szükség szerint összekapcsolja őket belső vagy külső illesztésekkel.
- Táblaaliasok használatával megkülönbözteti ugyanannak a táblanak a két példányát.
- Az ON záradék használatával olyan szűrőt biztosíthat, amely összehasonlítja a tábla egyik példányának oszlopait a tábla másik példányának oszlopaival.