Genelde ekranda MySQL sorgu satırlarım düzgün görünsün ve ekrana sığsın diye alt alta satırlara bölüyorum, aşağıda sizin yazdığınız sorguyu da değiştirmeden satırlara böldüm.
mysql_query("SELECT * FROM yazilar,kategoriler"
. "\n WHERE yazilar.catid='1'"
. "\n AND kategoriler.catid=yazilar.catid"
. "\n ORDER by ID DESC LIMIT 0,10");Inner Join, buna benzer bir şey mi? Bu saatte kafam biraz karıştı. 2 kere okudum ama yanlış okumuş olabilim
Şimdi yazılar.catid tamam da, kategoriler.catid nerden çıktı?
Kategoriler tablosunda catid adlı bir şeye ne gerek var ? Olmaz da.
Bir de siz zaten yazilar.catid='1' diye yazarak tek bir kategoriden veri çekeceğinizi belirtmişsiniz, bu durumda INNER JOIN gereğini daha hissetmiyorsunuz.
INNER JOIN ne zaman lazım olur?
Bir kitap satış sitesinde, bir bilgisayar malzemeleri satış sitesinde, bir araba veya araç satış sitesinde %100 lazım olur.
Çünkü bilgisayarlar tablosundan en son eklenen 100 bilgisayarı siz ekrana yazdırdığınız zaman, her bilgisayarın markasının da yazdırılması lazım, diğer özellikleri de. Bir bilgisayarın tüm ayrıntılarını bilgisayar tablosunda kaydedemeyeceğimize göre farklı farklı tablolarımız vardır.
Bilgisayarlar
Markalar
Masaustu
Laptop
Kampanyadakiler
falan filan diye pek çok tablomuz vardır. Bunların hepsinin ID'lerini ilişkilendireceğiz ki Bilgisayarlar tablosunun 1 nolu ID'si çağrılınca ona denk gelen marka ID'sinden hemen Marka adı da gelsin, diğer bilgiler de gelsin.
Mesele bu...