Requêtes hiérarchiques et récursives dans SQL Server
Jasmin Ludolf
Content Developer

Spécifie un jeu de résultats temporaire et nommé, appelé common table expression (CTE). Il provient d'une requête simple et est défini dans la portée d'exécution d'une seule instruction
WITH CTEtable as ( -- a query -- )SELECT * FROM CTEtable
SELECT, INSERT, UPDATE ou DELETEWITHUNION ou JOINSélectionner les gestionnaires avec une CTE :
WITH JOBS (id, SurName, JobTitle) AS( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%' ),
WITH AS pour définir la CTESELECT sur la table EmployeeSélectionner les employé·e·s avec un salaire supérieur à 10 000
SALARIES (ID,Salary) AS (
SELECT
ID,
Salary
FROM ITSalary
WHERE Salary > 10000)
Requête complète :
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
Requêtes hiérarchiques et récursives dans SQL Server