CodeBlanks Logo Icon CodeBlanks

Recursive CTE nedir?

Kendini çağıran CTE fikrini öğrenirsin.

Recursive CTE nedir?

Recursive CTE kendine başvuran CTE'dir. Hiyerarşi ve ağaç yapılarında kullanılır.

WITH RECURSIVE countdown(n) AS (
  SELECT 1
  UNION ALL
  SELECT n + 1 FROM countdown WHERE n < 5
)
SELECT * FROM countdown;

1'den 5'e kadar sayar.

WITH RECURSIVE ile countdown adında kendine başvuran geçici bir sonuç kümesi (CTE) tanımlanır; ardından gelen sorgu onu bir tablo gibi kullanır. countdown kaynağından tüm sütunlar seçilir.

Recursive CTE nedir? — ayrıntı

Recursive CTE bir anchor ve recursive kısımdan oluşur. UNION ALL ile birleştirilir.

Kategori ağaçları, yönetici zincirleri ya da 1'den N'e sayı dizisi üretmek gibi kaç adım süreceğini önceden bilmediğin işler için kullanılır.

Uygulama Recursive CTE nedir?

1'den 5'e sayan bir RECURSIVE CTE yaz.

Başlangıç kodu

query.sql
-- recursive CTE
WITH RECURSIVE

Örnek çözüm

query.sql
WITH RECURSIVE countdown(n) AS (
  SELECT 1
  UNION ALL
  SELECT n + 1 FROM countdown WHERE n < 5
)
SELECT * FROM countdown;

Beklenen çıktı

n
1
2
3
4
5

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Recursive CTE neyi birleştirir?

  • INTERSECT
  • JOIN
  • UNION ALL Doğru cevap
  • EXCEPT

Açıklama: Recursive CTE UNION ALL ile birleştirir.

2 RECURSIVE ekle

Soru
WITH ____ countdown(n) AS (
  SELECT 1
  UNION ALL
  SELECT n + 1 FROM countdown WHERE n < 5
)
SELECT * FROM countdown;
Cevap
WITH RECURSIVE countdown(n) AS (
  SELECT 1
  UNION ALL
  SELECT n + 1 FROM countdown WHERE n < 5
)
SELECT * FROM countdown;

Açıklama: RECURSIVE doğru cevap.

3 Recursive CTE nedir: kavramları eşleştir

Kavram Anlamı
recursive özyineli
anchor temel
UNION ALL birleştir
hiyerarşi ağaç

İleri seviye bölümündeki tüm dersler