Taula de continguts:
Definició: què significa Self-Join?
Una auto-unió, també coneguda com unió interna, és una sentència de llenguatge de consulta estructurada (SQL) on s’uneix una taula consultada a si mateixa. La declaració d'autoincorporació és necessària quan es comparen dos conjunts de dades, dins de la mateixa taula.
Techopedia explica Self-Join
A tall d’exemple, hi ha una taula anomenada EMPLOYEES que conté tres columnes:
- nom d'empleat
- identificació de treballador
- Identificador del gerent d’empleats
Com que els directius també són empleats, la columna MANAGER_ID també conté la identificació d’un altre empleat que també és el gestor. Per escriure una consulta per extreure els noms i identificadors de l'empleat i del gestor, la taula s'ha de dividir lògicament per la meitat per executar dues consultes separades: empleats (primera taula) i gestors (segona taula). Això s'aconsegueix mitjançant l'execució de la següent consulta SQL d'exemple:
SELECT nom_empleu_empleu, nom_del_empleat_com a nom_administrador
DE empleats com a, empleats com b
WHERE a.manager_id = b.employee_id
Per comprendre la sentència SQL esmentada anteriorment, és bàsic comprendre el concepte d'autoincorporació i les circumstàncies.
A l'exemple, a la segona taula EMPLOYEES es dóna l'àlies b, que en realitat és un subconjunt de la taula completa EMPLOYEES. No obstant això, la condició WHERE obliga a la primera taula d'EMPLEATS a consultar el gerent d'empleats de la segona taula EMPLOYEES.
