CodeBlanks Logo Icon CodeBlanks

CTE ve JOIN

CTE'yi JOIN içinde kullanmayı öğrenirsin.

CTE ve JOIN

CTE'yi JOIN içinde tablo gibi kullanabilirsin. Karmaşık birleştirmeleri sadeleştirir.

WITH active AS (
  SELECT * FROM customers WHERE status = 'active'
)
SELECT a.name, o.amount
FROM active a
JOIN orders o ON a.id = o.customer_id;

Bu sorgu aktif müşterilerin siparişlerini verir.

WITH ile active adında geçici bir sonuç kümesi (CTE) tanımlanır; ardından gelen sorgu onu bir tablo gibi kullanır. active a kaynağından a.name, o.amount seçilir. orders o tablosu a.id = o.customer_id koşuluyla yalnızca eşleşen satırlarıyla birleştirilir.

CTE ve JOIN — ayrıntı

CTE'yi JOIN'in bir tarafı olarak kullanırsın. Sorgu daha okunabilir olur.

CTE'ye bir takma ad verip (ör. active a) diğer tabloyla ON a.id = o.customer_id gibi bir koşulla eşleştirirsin; ana sorgu iki normal tabloyu birleştiriyormuş gibi okunur.

Uygulama CTE ve JOIN

active CTE'sini orders tablosuyla JOIN ile birleştir.

Başlangıç kodu

query.sql
-- CTE ile join
WITH

Örnek çözüm

query.sql
WITH active AS (
  SELECT * FROM customers WHERE status = 'active'
)
SELECT a.name, o.amount
FROM active a
JOIN orders o ON a.id = o.customer_id;

Beklenen çıktı

name  amount
Ayşe  250

Soru ve cevaplar

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

1 JOIN ekle

Soru
FROM active a
____ orders o ON a.id = o.customer_id;
Cevap
FROM active a
JOIN orders o ON a.id = o.customer_id;

Açıklama: CTE'yi başka bir tabloyla JOIN ile birleştirirsin; ON eşleşme koşulunu verir.

2 CTE ve JOIN: kavramları eşleştir

Kavram Anlamı
CTE tablo gibi
JOIN birleştir
ON koşul
okunabilir temiz

3 CTE JOIN'de nasıl kullanılır?

  • Tablo gibi Doğru cevap
  • Alt sorgu gibi
  • WHERE'de
  • HAVING'de

Açıklama: CTE JOIN'de tablo gibi kullanılır.

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