INNER JOIN kullanımını memnuniyetle anlatayım.
Şimdi varsayalım ki yazdıracağımız bir konunun bilgileri 6 TABLO arasında paylaşılmış. Şöyle ki?
ÖYKÜLER, YAZARLAR, TÜRLER, DİLLER, YAYINEVİ, YILLAR şeklinde 6 tane tablomuz var. Biz bir öyküyü sitemize eklerken başlık, spot ve öykünün devamını forma yerleştiriyoruz ama formda öykünün yazarının adını listeden seçiyoruz, aynı zamanda türünü, dilini, yayinevi adını ve yayın yılını da formdaki opsiyonllerde seçiyoruz ve KAYDET tuşunu basıp ekliyoruz.
Şimdi ÖYKÜLER tablomuzun elbette ID'si var ama, diğer şeyleri de seçtiğimiz için yazarid, turid, dilid, yayinevid, yilid diye diğer opsiyonellerin de ID'leri kaydedildi. Çok güzel.
Şimdi ana sayfamıza öykülerimizi yazdıracağız ya, ORDER BY yazarid yaparsak yazarlara göre seçecek ama yazarid 15 olan birinin yazar ADI'nın ne olduğunu nasıl öğreneceğiz. İşte burada INNER JOIN'den yararlanıyoruz.
"SELECT id, oykuler.yazarid, oykuler.turid, oykuler.dilid, oykuler.yayinevid"
. "\n FROM oykuler"
. "\n INNER JOIN yazarlar ON oykuler.yazarid = yazarlar.id
. "\n INNER JOIN turler ON oykuler.turdid = turler.id
. "\n INNER JOIN diller ON oykuler.dilid = diller.id
. "\n INNER JOIN yayinevi ON oykuler.yayineviid = yayinevi.id"
İşte şimdi her bir tablonun ID'sini ÖYKÜLER tablosundaki ilgili yer ile eşitledik.
Böylece yazarlar tablosundaki 15'indi ID'nin ADI Yaşar Kemal ise, YAZARLAR.yazarid 'nin ID numarasının adı da Yaşar Kemal oluyor ve ekrana onu yazıyor.