CodeBlanks Logo Icon CodeBlanks

NULL ile JOIN

Eşleşmeyen satırların NULL geldiği durumu öğrenirsin.

NULL ile JOIN

LEFT JOIN'da eşleşmeyen sağ sütunlar NULL olur. COALESCE ile varsayılan değer verebilirsin.

SELECT c.name, COALESCE(o.id, 0) AS order_id
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;

Bu sorgu siparişi olmayana 0 yazar.

customers c kaynağından c.name, COALESCE(o.id, 0) AS order_id seçilir. orders o tablosu o.customer_id = c.id koşuluyla sol tablonun tüm satırları korunarak birleştirilir.

NULL ile JOIN — ayrıntı

NULL değerler raporlamayı bozar. COALESCE NULL yerine anlamlı bir değer koyar.

Örneğin COALESCE(SUM(o.amount), 0) sipariş vermemiş müşterinin toplamını boş yerine 0 olarak gösterir.

Uygulama NULL ile JOIN

LEFT JOIN sonucunda NULL yerine 0 göstermek için COALESCE kullan.

Başlangıç kodu

query.sql
-- null yerine 0
SELECT c.name,

Örnek çözüm

query.sql
SELECT c.name, COALESCE(o.id, 0) AS order_id
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;

Beklenen çıktı

name    order_id
Ayşe    1
Fatma   0

Soru ve cevaplar

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

1 NULL yerine değer neyle verilir?

  • COALESCE Doğru cevap
  • COUNT
  • GROUP BY
  • DISTINCT

Açıklama: COALESCE NULL yerine varsayılan koyar.

2 COALESCE ekle

Soru
SELECT c.name, ____(o.id, 0) AS order_id
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;
Cevap
SELECT c.name, COALESCE(o.id, 0) AS order_id
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id;

Açıklama: COALESCE doğru cevap.

3 NULL ile JOIN: kavramları eşleştir

Kavram Anlamı
COALESCE varsayılan
NULL boş
LEFT JOIN tüm sol
AS takma

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