Çoklu tablo JOIN
- SQL kursu
- Başlangıç
- Ders 105/115
- 4 dk
Üç veya daha çok tabloyu aynı sorguda birleştirmeyi öğrenirsin.
JOIN ve WHERE
JOIN sonrası WHERE ile birleştirilmiş sonuç üzerinde filtreleme yapabilirsin.
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul';Bu sorgu yalnız İstanbul'daki müşterilerin siparişlerini getirir.
orders o kaynağından o.id, c.name seçilir. customers c tablosu o.customer_id = c.id koşuluyla yalnızca eşleşen satırlarıyla birleştirilir. WHERE c.city = 'İstanbul' koşulunu sağlamayan satırlar elenir.
JOIN ve WHERE — ayrıntı
WHERE JOIN'dan sonra yazılır ve birleştirilmiş tablo üzerinde süzme yapar. JOIN koşulu ON'da, filtre WHERE'de olmalıdır.
Uygulama JOIN ve WHERE
orders ve customers JOIN; yalnız İstanbul'daki müşterilerin siparişlerini getir.
Başlangıç kodu
-- filtreli birleştir
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHEREÖrnek çözüm
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul'Beklenen çıktı
id name 1 Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Filtreli birleştir
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
____ c.city = 'İstanbul';
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul';
Açıklama: Birleştirmeden sonra WHERE ile sonuç süzülür; burada yalnızca İstanbul'daki müşteriler kalır.
2 Çoklu tablo JOIN: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
JOIN |
birleştir |
ON |
JOIN koşulu |
WHERE |
filtre |
FROM |
tablo |
3 JOIN sonrası filtre nereye yazılır?
- GROUP BY
- ON
- FROM
- WHERE Doğru cevap
Açıklama: Filtre WHERE'de yazılır.