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 Gözlənilir: 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 Süni İntellekt
AI-dan cavab
Verilmiş nümunədə, SQL sorğusu eyni cədvəldən staff istifadə edərək işçilərin və onların rəhbərlərinin siyahısını düzgün şəkildə göstərir, self JOIN vasitəsilə.
staff cədvəli id, name və head_id sahələrini ehtiva edir, burada head_id işçinin rəhbərinin id-sinə istinad edir.
Sorğu:
SELECT e.name AS employee_name, m.name AS manager_name
FROM staff e
LEFT JOIN staff m ON e.head_id = m.id
eişçilər üçün takma addır.monların menecerləri üçün takma addır.- LEFT JOIN, meneceri olmayan işçilər üçün (məsələn, Ivan və Bob)
manager_name= NULL olan sətir təmin edir.
Bu şəkildə, sorğu işçilərin adlarını və varsa, onların rəhbərlərinin adlarını göstərir, bu da gözlənilən nəticəyə uyğundur.