CodeBlanks Logo Icon CodeBlanks

Çoklu tablo JOIN

Üç 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

query.sql
-- filtreli birleştir
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE

Örnek çözüm

query.sql
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

Soru
SELECT o.id, c.name
FROM orders o
JOIN customers c ON o.customer_id = c.id
____ c.city = 'İstanbul';
Cevap
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.

Başlangıç bölümündeki tüm dersler