Tablolar Arasında İlişki Kurulması (JOIN)
* Birden fazla tabloyla ilişki kurularak ortak sorgulama yapılmasıdır. Tabloları belli bir ortak kolona göre birleştirmek için join yöntemi kullanılır. Bunun için öncelikle tablolardaki kolonlar aynı tipte ve aynı büyüklükte olmalıdır.
Yazılımı:
1
2
3
4
5
|
SELECT table1.kolonları,table2.kolonları
FROM table1, table2
WHERE table1.kolon1=table2.kolon2
|
İki tabloyu birleştirmek için iki tabloda ortak bulunan kolonları where kotulu içinde etitleriz.
Örneğin personel adı ve bulunduğu departman listesi icin;
1
2
3
4
5
|
SELECT a.*,b.*
FROM personel a , departman b
WHERE a.dept_id=b.dept_id
|
Böylece personel tablosundan personel adı ve soyadı, departman tablosundan departman adı bilgisi getirilir.
* Bazı durumlarda tablo birleştirme koşulu bir aralık şeklinde oluşabilir. Yani tabloları birleştirirken anahtar sahaların belirli bir aralığı seçilebilir.
1
2
3
4
5
|
SELECT table1.kolonları, table2.kolonları
FROM table1, table2
WHERE table1.kolon1 BETWEEN table2.min2 AND table2. max2
|
* (OUTER JOIN) Bir diğer durumda tablodaki verilerin değerleri null olabilir. Fakat biz null değerlere sahip olanlarıda birlerştirmek istersek eksik olan tablonun yanına (+) işareti eklenir.
1
2
3
4
5
|
SELECT table1.kolonları, table2.kolonları
FROM table1, table2
WHERE table1.kolon1 (+) = table2.kolon2
|
* (SELF JOIN) Bir başka durumda aynı tablodaki kendi içindeki kolonlar arasında ilişki kurulabilir. Bazı durumlarda kolonlardaki değerleri eşit olma durumlarına göre sorgu düzenlenebilir.
1
2
3
4
5
|
SELECT table1.kolonları
FROM table1 a, table1 b
WHERE table1.a = table1. b
|
Leave a reply