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
select * from kullanici inner join kurs on kullanici.kurs_id=kurs.id
inner join sorgusu sonucunda seçilen verilerimiz

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


<?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
...
...
...
*/

eğer sorgumuzu

select 
kullanici.id,kullanici.ad,kullanici.kurs_id,kurs.kurs_ad 
from 
kullanici inner join kurs 
on 
kullanici.kurs_id=kurs.id

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

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

 

 

Facebooktwitterlinkedin

Bir cevap yazın

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