CodeBlanks Logo Icon CodeBlanks

Geciken kitaplar

LEFT JOIN ve WHERE ile geciken ödünçleri bul

Geciken kitaplar

Geciken kitapları bulmak için LEFT JOIN sonucunu WHERE ile süzersin. Tarihi geçen kayıtlar seçilir.

SELECT b.title, l.due_date
FROM books b
LEFT JOIN loans l ON l.book_id = b.id
WHERE l.due_date < CURRENT_DATE;

Bu sorgu süresi geçmiş kitapları verir.

books b kaynağından b.title, l.due_date seçilir. loans l tablosu l.book_id = b.id koşuluyla sol tablonun tüm satırları korunarak birleştirilir. WHERE l.due_date < CURRENT_DATE koşulunu sağlamayan satırlar elenir.

Geciken kitaplar — ayrıntı

CURRENT_DATE bugünü verir. due_date ondan küçükse kitap gecikmiş sayılır.

Bu sorgu iade tarihi bugünden önce olan ödünçleri listeler; ORDER BY due_date ile en çok gecikmiş kitabı en üstte görürsün.

Uygulama Geciken kitaplar

LEFT JOIN sonucunu due_date < CURRENT_DATE ile süz.

Başlangıç kodu

query.sql
-- gecikenler
SELECT b.title, l.due_date
FROM books b
LEFT JOIN loans l ON l.book_id = b.id

Örnek çözüm

query.sql
SELECT b.title, l.due_date
FROM books b
LEFT JOIN loans l ON l.book_id = b.id
WHERE l.due_date < CURRENT_DATE;

Beklenen çıktı

title    due_date
Suç ve Ceza  2026-01-10

Soru ve cevaplar

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

1 Geciken kitaplar: kavramları eşleştir

Kavram Anlamı
CURRENT_DATE bugün
due_date iade tarihi
WHERE filtre
gecikme süre geçti

2 Gecikme nasıl anlaşılır?

  • due_date bugünden küçükse Doğru cevap
  • due_date büyükse
  • SUM ile
  • COUNT ile

Açıklama: due_date < CURRENT_DATE gecikmeyi verir.

3 WHERE ekle

Soru
SELECT b.title, l.due_date
FROM books b
LEFT JOIN loans l ON l.book_id = b.id
____ l.due_date < CURRENT_DATE;
Cevap
SELECT b.title, l.due_date
FROM books b
LEFT JOIN loans l ON l.book_id = b.id
WHERE l.due_date < CURRENT_DATE;

Açıklama: WHERE l.due_date < CURRENT_DATE iade tarihi geçmiş ödünçleri bulur.

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