Self JOIN
- SQL kursu
- Orta seviye
- Ders 4/115
- 4 dk
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
-- self join
SELECT e.name, m.name AS manager
FROM employees eÖrnek çözüm
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
SELECT e.name, m.name AS manager
FROM employees e
____ employees m ON e.manager_id = m.id;
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 |