Kazalo:
Opredelitev - Kaj pomeni Self-Join?
Samopovezava, znana tudi kot notranje združevanje, je strukturiran poizvedbeni jezik (SQL), v katerem je poizvedbena tabela združena sama s seboj. Izjava o samopriključitvi je potrebna, če primerjate dva niza podatkov v isti tabeli.
Tehopedija razlaga Self-Join
Kot primer je tabela z imenom ZAPOSLENI, ki vsebuje tri stolpce:
- ime zaposlenega
- ID zaposlenega
- ID vodje zaposlenega
Ker so menedžerji tudi zaposleni, stolpec MANAGER_ID vsebuje tudi ID drugega zaposlenega, ki je tudi poslovodja. Če želite napisati poizvedbo za ekstrahiranje imen in ID-jev zaposlenih in managerja, mora biti tabela logično razdeljena na polovico, da se izvajajo dve ločeni poizvedbi: zaposleni (prva tabela) in upravitelji (druga tabela). To dosežemo z izvajanjem naslednjega vzorčnega poizvedbe SQL:
IZBERITE a.employee_name, b.employee_name kot ime upravitelja
OD zaposlenih kot a, zaposlenih kot b
KJE a.manager_id = b.employee_id
Razumevanje koncepta in okoliščin samopriključitve je bistveno za razumevanje zgornje izjave SQL.
V primeru je v drugi tabeli ZAPOSLENI dan vzdevek b, ki je dejansko podmnožica celotne tabele ZAPOSLENI. Vendar pa pogoj WHERE prisili prvo tabelo ZAPOSLENIH, da poizvedi vodjo zaposlenih v drugi tabeli ZAPOSLENI.
