Hiërarchische en recursieve queries in SQL Server
Jasmin Ludolf
Content Developer

Bepaalt een tijdelijke benoemde resultset, een common table expression (CTE). Afgeleid van een simpele query en gedefinieerd binnen de uitvoeringsscope van één statement
WITH CTEtable as ( -- a query -- )SELECT * FROM CTEtable
SELECT, INSERT, UPDATE of DELETEWITH-statementUNION of JOINSelecteer managers met een CTE:
WITH JOBS (id, SurName, JobTitle) AS( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%' ),
WITH AS om de CTE te definiërenSELECT op de tabel EmployeeSelecteer medewerkers met salaris boven 10.000
SALARIES (ID,Salary) AS (
SELECT
ID,
Salary
FROM ITSalary
WHERE Salary > 10000)
De volledige query:
WITH JOBS (id, SurName, JobTitle) AS ( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%'),SALARIES (ID,Salary) AS ( SELECT ID, Salary FROM ITSalary WHERE Salary > 10000)SELECT JOBS.Name, JOBS.Position, SALARIES.Salary FROM JOBS INNER JOIN SALARIES on JOBS.ID = SALARIES.ID;
SurNmames | JobTitle | Salary
Paul Smith | IT Manager | 15,000
Adam Peterson | Sourcing Manager | 12,500
Anna Nilson | Portfolio Manager | 10,500
Hiërarchische en recursieve queries in SQL Server