Ortak Tablo İfadeleri (CTE) Özeti

SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

Jasmin Ludolf

Content Developer

Kursun içeriği

  • Özyineleme nedir ve nasıl kullanılır?
  • Hiyerarşik ve özyinelemeli sorgular için Ortak Tablo İfadelerini (CTE) nasıl kullanabilirsiniz?
  • Hiyerarşiyi SQL ile nasıl temsil eder ve sorgularsınız?
  • Gerçek yaşam örnekleri (örn. şirket organizasyonları, ürün ağaçları, uçuş planı)

Rus bebekleri ve özyinelemeli yapıları görseli.

SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

CTE nedir?

  • CTE tanımı

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

  • CTE'nin yapısı
WITH CTEtable as 
(
    -- a query --
)

SELECT * FROM CTEtable
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

CTE'lerin kullanımı

  • Karmaşık sorguları yönetin
  • SELECT, INSERT, UPDATE veya DELETE içinde kullanılabilir
  • Tek bir WITH deyiminde birden çok CTE tanımlanabilir
  • Birden çok CTE UNION veya JOIN ile birleştirilebilir
  • Görünüm yerine geçebilir
  • Bir tabloya öz-referans verebilir
  • Özyinelemeli sorgu
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

Bir BT organizasyonu için CTE tanımlayın

Bir CTE ile yöneticileri seçin:

WITH JOBS (id, SurName, JobTitle) AS

( SELECT ID, Name, Position FROM employee WHERE Position like '%Manager%' ),
  • CTE tanımlamak için WITH AS
  • Employee tablosu üzerinde SELECT
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

Bir BT organizasyonu için CTE tanımlayın

Maaşı 10.000 üzeri çalışanları seçin

SALARIES (ID,Salary) AS (
   SELECT
        ID,
        Salary
   FROM ITSalary
   WHERE Salary > 10000)
SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

Bir BT organizasyonu için CTE tanımlayın

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

Hadi pratik yapalım!

SQL Server'da Hiyerarşik ve Özyinelemeli Sorgular

Preparing Video For Download...