CTE ve JOIN
- SQL kursu
- İleri seviye
- Ders 5/81
- 4 dk
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
-- CTE ile join
WITHÖrnek çözüm
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
FROM active a
____ orders o ON a.id = o.customer_id;
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.