SQL Server tidak memiliki CONNECT BY
. Anda perlu menggunakan CTE rekursif.
Tempatkan START WITH
di WHERE
filter bagian jangkar (bagian pertama dari CTE).
Di bagian rekursif (babak kedua), gabungkan kembali CTE ke EMP
dengan CONNECT BY
kondisi.
WITH cte AS (
SELECT
LEVEL = 1,
e.EMPNO,
e.ENAME,
e.JOB,
e.MGR
FROM EMP e
WHERE e.MGR IS NULL
UNION ALL
SELECT
cte.LEVEL + 1,
e.EMPNO,
e.ENAME,
e.JOB,
e.MGR
FROM EMP e
JOIN cte ON e.MGR = cte.EMPNO
)
SELECT
cte.LEVEL,
cte.EMPNO,
cte.ENAME,
cte.JOB,
cte.MGR
FROM cte
ORDER BY cte.LEVEL;