SELF JOIN normal bir birleştirmedir, ancak tablo kendisiyle birleştirilir.
SELF JOIN kullanımı:
SELECT sütun(s)
FROM tablo1 T1, tablo2 T2
WHERE koşul;
T1 ve T2 , aynı tablo için farklı takma adlardır.
Örnek Veritabanında kullanımlarını gözlemleyelim.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
SQL SELF JOİN Örneği:
Aşağıdaki SQL komutu, aynı Şehirlerdeki Müşterileri eşleştirir;
SELECT A.Ad AS Ad1, B.Ad AS Ad2, A.Sehir
FROM Musteriler A, Musteriler B
WHERE A.KullaniciID <> B.KullaniciID
AND A.Sehir = B.Sehir
ORDER BY A.Sehir;
İçerik: YUSUF ERDOĞAN