SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular
Jasmin Ludolf
Content Developer

Geçici, adlandırılmış bir sonuç kümesini (CTE) belirtir. Bu, basit bir sorgudan türetilir ve tek bir ifadenin yürütme kapsamı içinde tanımlanır
WITH CTEtable as ( -- a query -- )SELECT * FROM CTEtable
SELECT, INSERT, UPDATE veya DELETE içinde kullanılabilirWITH deyiminde birden çok CTE tanımlanabilirUNION veya JOIN ile birleştirilebilirBir CTE ile yöneticileri seçin:
WITH JOBS (id, SurName, JobTitle) AS( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%' ),
WITH ASEmployee tablosu üzerinde SELECTMaaşı 10.000 üzeri çalışanları seçin
SALARIES (ID,Salary) AS (
SELECT
ID,
Salary
FROM ITSalary
WHERE Salary > 10000)
Tüm sorgu:
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
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular