CodeBlanks Logo Icon CodeBlanks

Self JOIN

Bir tabloyu kendisiyle birleştirmeyi öğrenirsin.

Self JOIN

Bir tabloyu kendisiyle birleştirmeye self JOIN denir. Aynı tabloyu iki farklı takma adla kullanırsın.

SELECT e.name, m.name AS manager
FROM employees e
INNER JOIN employees m ON e.manager_id = m.id;

Bu sorgu her çalışanın yöneticisini bulur.

employees e kaynağından e.name, m.name AS manager seçilir. employees m tablosu e.manager_id = m.id koşuluyla yalnızca eşleşen satırlarıyla birleştirilir.

Self JOIN — ayrıntı

Self JOIN'de takma ad zorunludur; yoksa veritabanı iki tarafı ayırt edemez. Hiyerarşilerde sık kullanılır.

Örneğin employees e JOIN employees m ON e.manager_id = m.id her çalışanın yanına yöneticisinin adını getirir.

Uygulama Self JOIN

employees tablosunu kendisiyle INNER JOIN ile birleştir; yönetici ilişkisini kur.

Başlangıç kodu

query.sql
-- self join
SELECT e.name, m.name AS manager
FROM employees e

Örnek çözüm

query.sql
SELECT e.name, m.name AS manager
FROM employees e
INNER JOIN employees m ON e.manager_id = m.id;

Beklenen çıktı

name    manager
Ayşe    Fatma
Mehmet  Fatma

Soru ve cevaplar

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

1 Self JOIN ekle

Soru
SELECT e.name, m.name AS manager
FROM employees e
____ employees m ON e.manager_id = m.id;
Cevap
SELECT e.name, m.name AS manager
FROM employees e
INNER JOIN employees m ON e.manager_id = m.id;

Açıklama: INNER JOIN doğru cevap.

2 Self JOIN'de ne zorunludur?

  • WHERE
  • GROUP BY
  • Takma ad Doğru cevap
  • DISTINCT

Açıklama: Aynı tabloyu ayırt etmek için takma ad gerekir.

3 Self JOIN: kavramları eşleştir

Kavram Anlamı
self JOIN kendisiyle
takma ad ayırma
ON koşul
hiyerarşi yönetici

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