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

[code language=”php”]
<?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



*/
[/code]

ü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

 

 

Facebooktwitterlinkedin