SQL Server non dispone di CONNECT BY . Devi usare un CTE ricorsivo.
Inserisci il START WITH nel WHERE filtro della parte di ancoraggio (la prima parte del CTE).
Nella parte ricorsiva (la seconda metà), unisci nuovamente il CTE a EMP con il CONNECT BY condizione.
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;