İçeriğe atla
CodeItRaw
SQL: Birleştirmek

Ders 1/2

Veriler tekrar etmesin diye tablolara bölünür: kitaplar bir tabloda, yazarlar başka bir tabloda durur ve kitap satırı yazarın yalnızca numarasını taşır (author_id). Kitabın adını yazarın adıyla yan yana görmek için iki tabloyu bu numara üzerinden birleştirirsin.

SELECT b.title, a.name
FROM books AS b
JOIN authors AS a ON a.id = b.author_id;
JOIN ... ON hangi satırın hangisiyle eşleşeceğini söyler: kitabın author_id'si yazarın id'sine eşit olanlar. b ve a tablolara verilen kısa adlardır; iki tabloda da aynı adlı sütun varsa hangisini kastettiğini bu adlarla belirtirsin.

Düz JOIN yalnızca eşi olan satırları getirir: hiç kitabı olmayan yazar sonuçta görünmez. Onu da görmek istersen LEFT JOIN yazarsın: soldaki tablonun bütün satırları kalır, eşi olmayanların sağ tarafı NULL gelir. "Her yazar ve kitap sayısı, sıfır olanlar dahil" sorusu böyle çözülür.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.

  1. 01

    Tabloları birleştir

    SQL sorgusu

  2. 02

    Kimse kalmasın

    SQL sorgusu

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi