Senior
CREATE TABLE staff ( id TEXT name TEXT head_id TEXT ); id | name | head_id -------------------- 1 | Ivan | NULL 2 | Petr | 1 3 | Alice | 1 4 | Max | 2 5 | Alex | 2 6 | Elena | 4 7 | Bob | NULL Odotam saņemt: employee_name | manager_name --------------------------- Ivan | NULL Petr | Ivan Alice | Ivan Max | Petr Alex | Petr Elena | Max Bob | NULL SELECT e.name AS employee_name, m.name AS manager_name FROM staff e LEFT JOIN staff m ON e.head_id = m.id
sobes.tech AI
Vastus AI-lt
Antud näites SQL-päring õigesti rakendab töötajate ja nende juhtide nimekirja kuvamist ühest tabelist staff, kasutades self JOIN.
Tabel staff sisaldab välju id, name ja head_id, kus head_id on viide töötaja juhi id-le.
Päring:
SELECT e.name AS employee_name, m.name AS manager_name
FROM staff e
LEFT JOIN staff m ON e.head_id = m.id
eon aliased töötajatele.mon aliased nende juhtidele.- LEFT JOIN tagab, et isegi töötajad ilma juhita (näiteks Ivan ja Bob) saavad rea, kus
manager_nameon NULL.
Sellisel viisil näitab päring töötajate nimesid ja nende juhtide nimesid, kui need on olemas, mis vastab oodatud tulemusele.