JOIN bir tablodaki veriye bağlı olarak başka bir tablodan veri çekme işlemi diyebiliriz basitçe. Bunu php ile değil de direkt olarak MySQL ile yapıyorsun.

Mesela bir kullanıcıya ait mesajları çekmek için normalde şu mantık kullanılır;


$uye_sorgusu = "SELECT kullanici_id,kullanici_adi FROM uyeler";

// çektik sonuçları, döngüye girelim
while($sorgu_sonucu){

// Döngüde geçerli olan kullanici_İD'ye bağlı mesaj sayısı
$mesaj_sayisi = "SELECT count(mesaj_id) FROM mesajlar WHERE yazar_id='$sorgu_sonucu[kullanici_id]'";
}


Bunu Join'de tek sorguda halledebilirsin.



$uye_sonuc = "SELECT k.kullanici_id,k.kullanici_adi,COUNT(m.mesaj_id) as toplamMesaji
FROM uyeler as k
JOIN mesaj as m
ON m.yazar_id = k.kullanici_id";

while($sorgu_sonucu){

// mesaj sayisi
$mesaj_sayisi = $sorgu_sonucu['toplamMesaji'];
}



vb.