Berk PW

MySQL Join ile Aynı Tabloyu Çok Kez Kullanma

Merhabalar, bu yazıda benim de sıkça kullandığım bir MySql fonksiyonu olan “AS” ifadesini anlatacağım.AS fonksiyonu genel tanımı ile variable yani değişkenlere özel isim takmaya yarayan kullanışlı bir fonksiyondur.

Ben bu fonksiyonu genellikle işlem geçmişlerini tuttuğum tablolarda kullanırım. Örnek vermek gerekir ise, hediye gönderme ile ilgili bir tablomuz olsun. Bu hediye gönderme tablosunda kullanıcıların birbirlerine gönderdikleri hediyelerin gönderilme geçmişi tutulsun. Hem göndereni hem de alıcıyı kaydetmem gerek. Ben kendi tablolarımda bu iki veriyi kullanıcıların ID’si şeklinde kaydediyorum. AS fonksiyonunun kullanılma kısmı da tam olarak burada başlıyor.

Kullanıcıların kayıtlı olduğu bir tablom var. Bu tabloda kullanıcı ID’si ve kullanıcı adlarını barındırıyorum.

Ahmet adlı kullanıcı Ali adlı kullanıcıya hediye göndermiştir.

Ben Mysql ile bu iki kişinin kullanıcı adını çekmek istiyorum. Bu işlemi yapmak için AS fonksiyonunun takma ad verme özelliğini kullanacağım.

Kodumuz şu şekilde olucak

SELECT uyeler1.uye_kadi AS uyeler1_uye_kadi,
uyeler2.uye_kadi AS uyeler2_uye_kadi 
FROM hediye JOIN uyeler AS uyeler1 ON uyeler1.uye_id = hediye.hediye_gonderen_id 
JOIN uyeler AS uyeler2 ON uyeler2.uye_id = hediye.hediye_alan_id

Kodu açıklamam gerekirse önce JOIN ile uyeler tablosunu dahil ediyoruz. Ardından her iki işlem için tablolara AS ile özel isim veriyoruz. Ardından kullanım parametreleri kısmında bu verdiğimiz isimleri kullanarak uye_kadi ‘ ni çekiyoruz ve bu verilerimizi kullanabilmek için AS ile bunlarada özel bir isim tanımlıyoruz.

Bu sayede karşımıza aynen şu şekilde bir tablo çıkıyor.