CodeBlanks Logo Icon CodeBlanks

JOIN filtreleme

JOIN ile WHERE birlikte kullanmayı öğrenirsin.

JOIN filtreleme

JOIN sonucunu WHERE ile süzersin. JOIN önce çalışır, sonra WHERE sonucu daraltır.

SELECT o.id, c.name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul';

İstanbul'daki müşterilerin siparişlerini verir.

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 filtreleme — ayrıntı

JOIN koşulu ON'da, satır filtresi WHERE'de yazılır. İkisini karıştırmak sorguyu yavaşlatabilir.

Örneğin ON o.customer_id = c.id iki tabloyu bağlar, WHERE c.city = 'İstanbul' ise sonucu yalnızca İstanbul'daki müşterilerle sınırlar.

Uygulama JOIN filtreleme

JOIN sonucunu city = 'İstanbul' ile süz.

Başlangıç kodu

query.sql
-- birleştir ve süz
SELECT o.id, c.name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id

Örnek çözüm

query.sql
SELECT o.id, c.name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul';

Beklenen çıktı

id  name
1   Ayşe
3   Zeynep

Soru ve cevaplar

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

1 Filtre ekle

Soru
SELECT o.id, c.name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id
____ c.city = 'İstanbul';
Cevap
SELECT o.id, c.name
FROM orders o
INNER JOIN customers c ON o.customer_id = c.id
WHERE c.city = 'İstanbul';

Açıklama: JOIN'den sonra WHERE ile sonuç süzülür; yalnızca İstanbul'daki müşteriler kalır.

2 JOIN filtreleme: kavramları eşleştir

Kavram Anlamı
ON birleştirme
WHERE satır filtre
HAVING grup filtre
JOIN tablo

3 Satır filtresi nereye yazılır?

  • FROM
  • ON
  • SELECT
  • WHERE Doğru cevap

Açıklama: Satır filtresi WHERE'de yazılır.

Orta seviye bölümündeki tüm dersler