Kod: Tümünü seç
1. Inner join
2. Outer join
a. Left join
b. Rigth join
c. Full join
3. Cross join
Kod: Tümünü seç
Bolum:
BolumNo int
BolumAdi varchar
Ogrenci:
BolumNo int
OgrNo int
OgrAdi varchar
Tablolardaki veriler ise şu şekilde olsun:
BÖLÜM TABLOSU:
Kod: Tümünü seç
BolumNo BolumAdi
1 Bilgisayar Mühendisliği
2 Çevre Mühendisliği
3 Elektronik Mühendisliği
4 Mimarlık
5 Şehir ve Bölge Planlama
Kod: Tümünü seç
BolumNo OgrNo OgrAdi
1 1 Ahmet İnce
1 2 Ayhan Güzel
1 3 Sevim Coşkun
2 4 Gülsüm Sever
2 5 Zeki Çalışkan
3 6 Ayşe Toprak
4 7 Ahmet Gül
1.INNER JOIN:
Her iki tabloda da, birleştirdiğimiz alana göre, mevcut olan kayıtları getirir. Yani bu iki tabloda ortak olan alnımız BolumNo olduğu için birleştirme koşulumuz BolumNo’ya göre yapılacak ve her iki tabloda da kayıtlı olan bölümler gelecektir sonuç olarak.
SQL cümlemiz:
Kod: Tümünü seç
SELECT Bolum.BolumNo,Bolum.BolumAdi,Ogrenci.OgrNo,Ogrenci.OgrAdi
FROM Bolum INNER JOIN
Ogrenci ON Bolum.BolumNo = Ogrenci.BolumNo
Kod: Tümünü seç
BolumNo BolumAdi OgrNo OgrAdi
1 Bilgisayar Mühendisliği 1 Ahmet İnce
1 Bilgisayar Mühendisliği 2 Ayhan Güzel
1 Bilgisayar Mühendisliği 3 Sevim Coşkun
2 Çevre Mühendisliği 4 Gülsüm Sever
2 Çevre Mühendisliği 5 Zeki Çalışkan
3 Elektronik Mühendisliği 6 Ayşe Toprak
4 Mimarlık 7 Ahmet Gül
2. OUTER JOIN
a. Left join: İlk tablodaki (yani soldaki) bütün kayıtlar, ikinci tabloda ise ilk tablodaki ortak alana (BolumNo) göre uyuşan kayıtlar gelir. Eğer ikinci tabloda ilk tablodaki BolumNo larının tamamı yoksa,olmayan o satırlar için ikinci Tablodaki alanlar null olarak gelir.
SQL cümlemiz:
Kod: Tümünü seç
SELECT Bolum.BolumNo, Bolum.BolumAdi, Ogrenci.OgrNo, Ogrenci.OgrAdi
FROM Bolum LEFT OUTER JOIN
Ogrenci ON Bolum.BolumNo = Ogrenci.BolumNo
Çıkan sonuç:
Kod: Tümünü seç
BolumNo BolumAdi OgrNo OgrAdi
1 Bilgisayar Mühendisliği 1 Ahmet İnce
1 Bilgisayar Mühendisliği 2 Ayhan Güzel
1 Bilgisayar Mühendisliği 3 Sevim Coşkun
2 Çevre Mühendisliği 4 Gülsüm Sever
2 Çevre Mühendisliği 5 Zeki Çalışkan
3 Elektronik Mühendisliği 6 Ayşe Toprak
4 Mimarlık 7 Ahmet Gül
5 Şehir ve Bölge Planlama Null Null
b. Rigth join: Left join ile aynı mantıkta çalışır, sadece tersi durum geçerlidir. Yani, ikinci tablodaki (yani sağdaki) bütün kayıtlar, ilk tabloda ise ikinci tablodaki ortak alana (BolumNo) göre uyuşan kayıtlar gelir. Eğer ilk tabloda ikinci tablodaki BolumNo larının tamamı yoksa,olmayan o satırlar için ilk Tablodaki alanlar null olarak gelir.
SQL cümlemiz:
Kod: Tümünü seç
SELECT Bolum.BolumNo, Bolum.BolumAdi, Ogrenci.OgrNo, Ogrenci.OgrAdi
FROM Bolum RIGHT OUTER JOIN
Ogrenci ON Bolum.BolumNo = Ogrenci.BolumNo
ORDER BY Bolum.BolumNo
Kod: Tümünü seç
BolumNo BolumAdi OgrNo OgrAdi
1 Bilgisayar Mühendisliği 1 Ahmet İnce
1 Bilgisayar Mühendisliği 2 Ayhan Güzel
1 Bilgisayar Mühendisliği 3 Sevim Coşkun
2 Çevre Mühendisliği 4 Gülsüm Sever
2 Çevre Mühendisliği 5 Zeki Çalışkan
3 Elektronik Mühendisliği 6 Ayşe Toprak
4 Mimarlık 7 Ahmet Gül
c. Full join: Her iki tablodaki bütün kayıtları getirir. Uyuşmayan satırlar için o alanlar null olarak gelir.
4. CROSS JOIN
Her iki tabloyu çapraz olarak birleştirir. Yani, ilk tablodaki her bir satır için ikinci tablodaki her satır sonuç olarak döner.
SQL Cümlesi:
Kod: Tümünü seç
SELECT Bolum.BolumNo, Bolum.BolumAdi, Ogrenci.OgrNo, Ogrenci.OgrAdi
FROM Bolum CROSS JOIN
Ogrenci
Kod: Tümünü seç
BolumNo BolumAdi OgrNo OgrAdi
1 Bilgisayar Mühendisliği 1 Ahmet İnce
1 Bilgisayar Mühendisliği 2 Ayhan Güzel
1 Bilgisayar Mühendisliği 3 Sevim Coşkun
1 Bilgisayar Mühendisliği 4 Gülsüm Sever
1 Bilgisayar Mühendisliği 5 Zeki Çalışkan
1 Bilgisayar Mühendisliği 6 Ayşe Toprak
1 Bilgisayar Mühendisliği 7 Ahmet Gül
1 Bilgisayar Mühendisliği 8 Şengül Kader
2 Çevre Mühendisliği 1 Ahmet İnce
2 Çevre Mühendisliği 2 Ayhan Güzel
2 Çevre Mühendisliği 3 Sevim Coşkun
2 Çevre Mühendisliği 4 Gülsüm Sever
2 Çevre Mühendisliği 5 Zeki Çalışkan
2 Çevre Mühendisliği 6 Ayşe Toprak
2 Çevre Mühendisliği 7 Ahmet Gül
2 Çevre Mühendisliği 8 Şengül Kader
3 Elektronik Mühendisliği 1 Ahmet İnce
3 Elektronik Mühendisliği 2 Ayhan Güzel
3 Elektronik Mühendisliği 3 Sevim Coşkun
3 Elektronik Mühendisliği 4 Gülsüm Sever
3 Elektronik Mühendisliği 5 Zeki Çalışkan
3 Elektronik Mühendisliği 6 Ayşe Toprak
3 Elektronik Mühendisliği 7 Ahmet Gül
3 Elektronik Mühendisliği 8 Şengül Kader
4 Mimarlık 1 Ahmet İnce
4 Mimarlık 2 Ayhan Güzel
4 Mimarlık 3 Sevim Coşkun
4 Mimarlık 4 Gülsüm Sever
4 Mimarlık 5 Zeki Çalışkan
4 Mimarlık 6 Ayşe Toprak
4 Mimarlık 7 Ahmet Gül
4 Mimarlık 8 Şengül Kader
5 Şehir ve Bölge Planlama 1 Ahmet İnce
5 Şehir ve Bölge Planlama 2 Ayhan Güzel
5 Şehir ve Bölge Planlama 3 Sevim Coşkun
5 Şehir ve Bölge Planlama 4 Gülsüm Sever
5 Şehir ve Bölge Planlama 5 Zeki Çalışkan
5 Şehir ve Bölge Planlama 6 Ayşe Toprak
5 Şehir ve Bölge Planlama 7 Ahmet Gül
5 Şehir ve Bölge Planlama 8 Şengül Kader