MySQL Tablo Birleştirme Sorguları (Join)

veritabanı ile işlemler yaparken çoğu zaman herhangi bir kaydın bilgisi 2 yada daha fazla tabloda tutulur.

buna örnek olarak;

kişi bilgileri bir tabloda, kişinin kayıtlı olduğu kurslar başka bir tabloda tutulabilir. bu durumda öncelikle kişinin bilgilerini çekmek için kullanici tablosu üzerinde select sorgusu daha sonra bu kişinin kurs bilgisini almak içinse

kullanici tablosundan listelenen veriye göre kurs tablosunda yeni bir select sorgusu yapılır.

bu durumda genel olarak çift sorgu olur ve aynı zamanda başka (şimdi burada yazmayalım ve kısa geçelim) sorunlarıda beraberinde getirir.

bu yazdığımız kodu örneklendirecek olursak,

kullanıcı tablosu

Kurs Tablosu

<?php $sorgu = $pdo->query("select * from kullanici"); 
$kullanicilar = $sorgu->fetchAll(PDO::FETCH_OBJ); 
foreach ($kullanicilar as $kullanici) { 
echo "Kullanıcı Adı :: ". $kullanici->ad ."
"; 
$sorgu2 = $pdo->query("select * from kurs where id = '$kullanici->kurs_id' ");
 $kurs = $sorgu2->fetch(PDO::FETCH_LAZY); 
echo "Kurs Adı :: ". $kurs->kurs_ad ."
"; 
} 
/*
çıktısı
Kullanıcı Adı :: Mustafa Yılmaz 
Kurs Adı :: php 
... 
... 
... 
*/

üstteki yazmış olduğumuz iki adet sql sorgusu yerine tabloları birleştiren join ifadesinin kullanmamız daha kolaylık olacaktır.

Join Türleri İçin

 

 

Facebooktwittergoogle_pluslinkedin

You may also like...

1 Response

  1. PHpCahil dedi ki:

    Hocam ellerinize saglik 10 numara oldu . Sitem cok yavasdi bu sayede cok hizlandi. 😀

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir