MYSQL JOIN

MySQL işlemlerinde şimdiye kadar her seferinde sadece bir tablodan veri alımı yaptık.Çoğunlukla PHP-MySQL projelerinde bu işlemler bizim için yeterli olacaktır.Ancak daha kapsamlı projeler için aynı anda birden fazla tablodan işlem alışverişi yapmamız gerekebilir.MySQL JOIN olayı bunun için vardır

MYSQL JOINMySQL Join

 MySQL JOIN işlemi ile iki veya daha fazla tablodan parça alarak yeni bir Joined(katılım) tablosu oluşturulur.Bunun anlamı şu ana kadar öğrendiğimiz tüm MySQL işlemlerini ,yeni oluşan joined tablosuna uygulayabiliriz.

MySQL Join Tablosu Kurulumu

İki veya daha fazla tabloyu birleştirme işlemini örneklerle açıklamak ,anlaşılırlığını arttıracak diye düşünüyorum.Şimdi  ; “Aile” ve “Yiyecek”  adında iki tabloyu ele alalım ve MySQL joine uyarlayalım.

Aile Tablosu:

Birey

Yas

Baba

41

Anne

45

Kız

17

Erkek

 

Yiyecek Table:

Yemek

Birey

Biftek

Baba

Salata

Anne

Ispanak Çorbası

 

Kebab

Baba

Görüşdüğü gibi yukardaki her iki tabloda da  “Birey” sütunu  ortak olarak bulunuyor.Aile Tablosunda aile bireylerinin tamamını ve yaşlarını görüyoruz.”Yemek” tablosunda ise hangi birey hangi yemeği beğeniyor ise yemek isminden sonra sıralanmıştır.

MySQL Join Simple Example

Bir aile bireyinin beğendiği yemekleri SELECT ifadesi ile seçtiğimizi düşünelim.

Kodumuzu yazalım:

<?php
// MySQL bağlantısı yapıldı
// Sorgumuz yapılandırıldı
$query = "SELECT Aile.Birey, Yiyecek.Yemek ".
 "FROM Aile, Yiyecek ".
        "WHERE Aile.Birey = Yiyecek.Birey"; 
         
$result = mysql_query($query) or die(mysql_error());

 

 
// sorgunun sonucunu yayınlayalım 
while($row = mysql_fetch_array($result)){
        echo $row['Birey']. " - ". $row['Yemek'];
        echo "<br />";
}
?>

"WHERE Aile.Birey = Yiyecek.Birey" ifadesine uygun satırları ekrana yazdırılıyor.

Ekran Çıktımız Şöyledir:

Baba - Biftek
Anne - Salata
Baba- Kebab

 

Tabloları Karşılaştıralım:

Birey

Yas

Baba

41

Anne

45

Kiz

17

Erkek

 

 

Yemek

Birey

Biftek

Baba

Salata

Anne

Ispanak Çorbası

 

Kebab

Baba

 

 

MySQL LEFT JOIN

 LEFT JOIN ifadesi nedir ve normal JOIN işleminden farkları nelerdir?

Öncelikle, syntax oldukça farklıdır ve birazcık daha complex(kapsamlıdır) dir.

Farklı görünme anlamına bakarsak, LEFT JOIN daha fazla detayı inceliyor diyebiliriz.

MySQL Aile ve Yiyecek Tablosu:

Birey

Yas

Baba

41

Anne

45

Kiz

17

Erkek

 

 

Yemek

Birey

Biftek

Baba

Salata

Anne

Ispanak Çorbası

 

kebab

Baba

 

 

Basitleştirilmiş  MySQL Sorgusu:

SELECT Yiyecek.Yemek, Aile.Birey 
FROM Aile, Yiyecek  
WHERE Yiyecek.Birey= Aile.Birey

Sonuç:

Baba - Biftek
Anne - Salata
Baba - Kebab

 

Kodumuzu Yazalım

<?php
// MySQL Bağlantı 
// join sorgusunu yapılandıralım
$query = "SELECT Aile.Birey, Yiyecek.Yemek ".
 "FROM Aile LEFT JOIN Yiyecek".
               "ON Aile.Birey = Yiyecek.Birey"; 
                
$result = mysql_query($query) or die(mysql_error());

 

 
// her satırın içeriğini tablo içinde yayınlayalım
while($row = mysql_fetch_array($result)){
               echo $row['Birey']. " - ". $row['Yemek'];
               echo "<br />";
}
?>

Ekran Çıktısı:

Baba - Biftek
Baba - Kebab
Anne - Salata

İşte gördüğünüz gibi MYSQL LEFT JOIN dedikleri böyle! Sol sutun referanslı sorgu çözümleri de diyebiliriz. Her aile bireyini listeleyerek diğer tabloda adlarının karşılığına gelen yiyecek elemanlarını eşleştirir.Biraz karışık bir konu olsada ileri seviye veritabanı sorgulamalarında ne kadar geçerliliği olduğunun farkına varmışsınızdır umarım..

Kaynak www.kodadiweb.com/

Yorumunuzu Ekleyin


Yükleniyor...
Yükleniyor...