SQL Server използва изрази за общи таблици (изявление WITH), за да постигнете същото (вижте Рекурсивни заявки, използващи общи изрази за таблица).
Този вид заявка може да се използва и в Oracle (започвайки с 11g, ако не се лъжа).
Получената заявка е по-сложна:
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;