SQL Server gebruikt algemene tabeluitdrukkingen (MET statement) om hetzelfde te bereiken (zie Recursieve zoekopdrachten met gemeenschappelijke tabeluitdrukkingen).
Dit soort query kan ook in Oracle worden gebruikt (beginnend met 11g als ik me niet vergis).
De resulterende vraag is complexer:
WITH emp(employee_id, manager_id, job_id, last_name, lvl)
AS (
SELECT e.employee_id, e.manager_id, e.job_id, e.last_name, 1 lvl
FROM employees e
WHERE job_id = 'AD_VP'
UNION ALL
SELECT e.employee_id, e.manager_id, e.job_id, e.last_name, r.lvl + 1 lvl
FROM employees e
JOIN emp r ON r.employee_id = e.manager_id
)
SELECT LPAD(' ', 2 * (lvl-1)) || last_name org_chart,
employee_id, manager_id, job_id
FROM emp;