MySQL Tablo Birleştirme Sorguları. ( İnner Join )


iki tabloda birbiri ile ilişkli kayıtları listelerken tek sorgu kullanmak istediğimizde kullanacağımız yöntemin başında inner join  gelir.

inner join ifadesi ile iki tablodaki belirtilen sütunların sadece eşleşen kayıtları gelir.

inner join ifadesi yerine sadece joinde yazılabilir.

fazla bi açıklama yapmadan doğrudan örneklemeye geçelim.

iki tabloda ki ortak olan kayıtları listeleyen  inner join sorgusu ( select * – tüm alanları seçme)

kullanıcılar tablosu

tüm kullanıcıları içeren tablomuz

 

tüm kursları içeren tablomuz

[code language=”sql”]select * from kullanici inner join kurs on kullanici.kurs_id=kurs.id[/code]

inner join sorgusu sonucunda seçilen verilerimiz

php içerisinde kullanmak istediğimizde ise aşağıdaki kod bloğunu yazmamız gerekir.

[code language=”php”]

<?php
$sorgu = $pdo->query("select * from kullanici inner join kurs on kullanici.kurs_id=kurs.id");
$kullanicilar = $sorgu->fetchAll(PDO::FETCH_OBJ);

foreach ($kullanicilar as $kullanici) {

echo "Kullanıcı Adı :: ". $kullanici->ad ."<br />";

echo "Kurs Adı :: ". $kullanici->kurs_ad ."<br />";

}

/*
çıktısı

Kullanıcı Adı :: Mustafa Yılmaz
Kurs Adı :: php



*/

[/code]

eğer sorgumuzu

[code language=”sql”]select
kullanici.id,kullanici.ad,kullanici.kurs_id,kurs.kurs_ad
from
kullanici inner join kurs
on
kullanici.kurs_id=kurs.id[/code]

kodları ile değiştirirsek.
sadece seçtiğimiz kolonları getirir.

inner join ile sadece seçtiğimiz kolonların listesi

 

 

Facebooktwitterlinkedin