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 Verwacht wordt: 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
Antwoord van AI
In het gegeven voorbeeld implementeert de SQL-query correct het weergeven van een lijst van werknemers en hun managers uit dezelfde tabel staff met behulp van een self JOIN.
De tabel staff bevat de velden id, name en head_id, waarbij head_id een verwijzing is naar de id van de manager van de werknemer.
Query:
SELECT e.name AS employee_name, m.name AS manager_name
FROM staff e
LEFT JOIN staff m ON e.head_id = m.id
eis een alias voor de werknemers.mis een alias voor hun managers.- LEFT JOIN zorgt ervoor dat zelfs werknemers zonder manager (bijvoorbeeld Ivan en Bob) een regel krijgen met
manager_name= NULL.
Op deze manier toont de query de namen van de werknemers en de namen van hun managers, indien aanwezig, wat overeenkomt met het verwachte resultaat.