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

Ders 2/2

Bir tablo kendisiyle de birleştirilebilir. Bir kategori tablosunda her satır üst kategorisinin numarasını taşıyorsa, kategoriyi üst kategorisinin adıyla görmek için aynı tabloyu iki farklı adla sorguya koyarsın: biri "çocuk", biri "üst" rolünde.

SELECT c.name AS category, p.name AS parent
FROM categories AS c
JOIN categories AS p ON p.id = c.parent_id;
Kısa adlar burada zorunludur: tablo iki kez geçtiği için hangi kopyadan söz ettiğini ancak onlarla ayırırsın. Üst kategorisi olmayanlar (parent_id boş) düz JOIN ile sonuçtan düşer.

Çoktan çoğa ilişkiler bir ara tabloyla tutulur: bir kitabın birden çok etiketi, bir etiketin birden çok kitabı olabiliyorsa, book_tags tablosu her eşleşme için bir satır taşır. Kitaptan etikete gitmek iki JOIN ister: kitap → ara tablo → etiket. Zinciri bir halka bir halka kur.

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

    Yöneticiler

    SQL sorgusu

  2. 02

    Orion ekibi

    SQL sorgusu

  3. 03

    Projesizler

    SQL sorgusu

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