MySql Inner Join , Left Join , Right Join ve Full Join

Değerli dostlarım merhabalar, Birden fazla tabloyu birleştirmek için Join kullanırız. Daha çok ilişkili iki tablo birleştirilmesi için kullanılır. 4 farklı Join kavramı vardır. Bunlar; Inner Join, Left Join, Right Join ve Full Join dir. Şimdi örnekler ile bunları açıklayalım.

İnner Join

Seçilen tablolardaki ortak değerleri filtre ederek istediğimiz veriyi bizlere sunar. Aşağıdaki örnek kodumuzu inceleyelim.

SELECT tbl_siparis.ID, tbl_musteriler.ADI FROM tbl_siparis
INNER JOIN tbl_musteriler ON tbl_siparis.musteriID= tbl_musteriler.ID;

Yukarıdaki kodumuzda siparişler ve musteriler adında 2 adet tablomuz mevcuttur. Şimdi siparişler ve musteriler tablomuzun ortak kolonu olan musteriID ve musterileriler tablomuzdaki ID kolonlarını eşleştirip yeni bir tablo gibi kayıtlar elde ettik.

Left Join

Left join solda yer alan tablonun tüm kayıtlarını sağdaki tablonun ise eşleşen kayıtlarını alan bir fonksiyondur. Örneğimizi inceleyelim.

SELECT tbl_musteriler.MusteriAdi, tbl_siparisler.SiparisID
FROM tbl_musteriler
LEFT JOIN tbl_siparisler ON tbl_musteriler.MusteriAdi= tbl_siparisler .MusteriID

Yukarıda yer alan örnek kodumuzda sol tablodaki tüm verileri aldık, sağ tarafta yer alan tablomuzda ise sadece eşleştirilen kolonumuzu aldık.

Right Join

Right join sağda yer alan tablonun tüm kayıtlarını soldaki tablonun ise eşleşen kayıtlarını alan bir fonksiyondur. Örneğimizi inceleyelim.

SELECT tbl_siparisler.SiparisID, tbl_calisanlar.calisanSoyadi, tbl_calisanlar.calisanAdi
FROM tbl_siparisler
RIGHT JOIN Employees ON tbl_siparisler.CalisanID= tbl_calisanlar.CalisanID

Yukarıda yer alan örnek kodumuzda sağ tablodaki tüm verileri aldık, sol tarafta yer alan tablomuzda ise sadece eşleştirilen kolonumuzu aldık.

Full Join

Full Join kavramının diğer Join işlemlerinden pek bir farkı bulunmamaktadır. Aynı şekilde 2 tablo birleştirilir. Kısa bir örnek ile açıklayalım.

SELECT tbl_musteriler.MusteriAdi, tbl_siparisler.SiparisID
FROM tbl_musteriler
FULL OUTER JOIN tbl_siparisler ON tbl_musteriler.MusteriID=tbl_siparisler.MusteriID;

Diğer örneklerimiz gibi yukarıda yer alan Sql kodumuzda yine birleştirme işlemi yaptık.

Tablo birleştirme işlemlerinde Join kavramını rahatlıkla kullanabilirsiniz. Ama benim fikrimi sorarsanız Join yerine View kullanmanız daha iyi olacaktır. Sanal tablo olarak çalıştığı için performansta artış olacaktır. Bir diğer konu ise view larda tablo isimlerimizi ve kolonlarımızı saklamaktır. Bunun da artısı oldukça fazladır.

Proje büyüdükçe Join yerine view kullanmak daha mantıklı olacaktır.

Diğer bir dersimizde görüşmek üzere.

Bir cevap yazın

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

Shares