Veritabanları birbirleri ile ilişkili birden çok tablo içerebilir. Join, iki ya da daha fazla tabloyu aynı anda sorgulayarak bir sonuç tablosu oluşturmaya yarar. İki tabloyu birleştirerek sonuç alınmak istenirse, her iki tabloda da aynı olan alanlardan yola çıkılarak sonuç tablosu oluşturulabilir.
Örneğin aşağıdaki OGRENCILER ve OGRETMENLER tablolarını inceleyelim. Tablolardan görüldüğü gibi , OGRENCILER tablosunda OGRETMENNO, OGRETMENLER tablosunda da NUMARA adında sütunlar mevcut.
Bu iki tabloyu birbirleri ile ilişkilendirip istediğimiz veriye ulaşmak için JOIN deyimini kullanırız.
OGRENCILER Tablomuz Aşağıdaki Gibidir
NUMARA | ADI | SOYADI | OGRETMENNO |
1 | Ahmet | Bir | 5 |
2 | Mehmet | İki | 5 |
3 | Hasan | Üç | 3 |
4 | Hatice | Dört | 2 |
5 | Ayşe | Beş | 1 |
OGRETMENLER Tablomuz Aşağıdaki Gibidir
NUMARA | ADI | SOYADI |
5 | Ali | Yedi |
4 | Hüseyin | Sekiz |
3 | Sinan | Dokuz |
2 | Emre | On |
1 | Alper | Onbir |
Bu iki tabloyu baz alarak hangi öğrencinin hangi öğretmenden ders aldığını bulalım.
SELECT * FROM OGRENCILER OGRN (NOLOCK) JOIN OGRETMENLER OGRT ON (NOLOCK) OGRN.OGRETMENNO = OGRT.NUMARA
Bu sorguyu çalıştırdığımızda, yaptığımız öğretmen ve öğrenci ilişkilendirmesi sonucu aşağıdaki gibi bir tablo ile karşılaşacağız.
NUMARA | ADI | SOYADI | OGRETMENNO | NUMARA | ADI | SOYADI |
1 | Ahmet | Bir | 5 | 5 | Ali | Yedi |
2 | Mehmet | İki | 5 | 5 | Ali | Yedi |
3 | Hasan | Üç | 3 | 3 | Sinan | Dokuz |
4 | Hatice | Dört | 2 | 2 | Emre | On |
5 | Ayşe | Beş | 1 | 1 | Alper | Onbir |
Bir sonraki derste görüşmek üzere, tüm sorularınızı ders altındaki yorum alanından iletebilirsiniz.