SQL Server n'a pas CONNECT BY . Vous devez utiliser un CTE récursif.
Placez le START WITH dans le WHERE filtre de la partie ancre (la première partie du CTE).
Dans la partie récursive (la seconde moitié), rejoignez le CTE à EMP avec le CONNECT BY état.
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;