![Self Join SQL Tutorial with Example](https://i.ytimg.com/vi/ck8mVDOOCCg/hqdefault.jpg)
Zawartość
- Definicja - Co oznacza Self-Join?
- Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
- Techopedia wyjaśnia Self-Join
Definicja - Co oznacza Self-Join?
Samozłączenie, znane również jako sprzężenie wewnętrzne, jest instrukcją SQL (strukturalnego języka zapytań), w której połączona tabela jest połączona z samym sobą. Instrukcja samodzielnego łączenia jest konieczna, gdy porównywane są dwa zestawy danych w tej samej tabeli.
Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.
Techopedia wyjaśnia Self-Join
Na przykład istnieje tabela o nazwie PRACOWNICY, która zawiera trzy kolumny:
- imię i nazwisko pracownika
- numer identyfikacyjny pracownika
- identyfikator menedżera pracownika
Ponieważ menedżerowie są również pracownikami, kolumna MANAGER_ID zawiera także identyfikator innego pracownika, który jest również menedżerem. Aby napisać zapytanie w celu wyodrębnienia nazwisk i identyfikatorów pracowników i menedżerów, tabela musi zostać logicznie podzielona na pół w celu uruchomienia dwóch oddzielnych zapytań: pracowników (pierwsza tabela) i menedżerów (druga tabela). Można to osiągnąć, uruchamiając następujące przykładowe zapytanie SQL:
Wybierz a. Nazwa pracownika, b. Nazwa pracownika jako nazwa menedżera
OD pracowników jako a, pracowników jako b
GDZIE a.manager_id = b.employee_id
Zrozumienie koncepcji i okoliczności samodzielnego łączenia jest niezbędne do uchwycenia powyższej instrukcji SQL.
W tym przykładzie druga tabela EMPLOYEES ma alias b, który w rzeczywistości jest podzbiorem pełnej tabeli EMPLOYEES. Jednak warunek GDZIE zmusza pierwszą tabelę PRACOWNIKÓW do wysłania zapytania do kierownika pracownika w drugiej tabeli PRACOWNICY.