29 Haziran 2013 Cumartesi

MySQL 9 (Birden Fazla Tabloda Sorgu)



                Öncelikle iki yeni tablo oluşturdum.Bunlardan birincisi “kitap” tablosu kitap adı ve yazar bilgisini saklıyor.İkinci tablom ise “fiyat” isminde ve fiyatlari tutuyor.




                Şimdi sorgulama işlemine geçebiliriz.Bunun için aşağidaki sorgu mantığını kullanabiliriz;

SELECT sutun_adları FROM tablo_adları
WHERE tablo1.sutun1 = tablo2.sutun2;

SELECT ad,yazar,fiyat FROM kitap,fiyat
WHERE kitap.no = fiyat.no;

                “Select” komutundan sonraki sütun adları sorgu sonrası dönderilecek sütunları belirtiyor. “From” komutundan sonraki tablo adları ise sorgunun yapılacağı tablo isimlerini belirtiyor. “Where” den sonraki ifade ise tablo1 de işaret edilen sutun1 ile tablo2 deki işaret edilen sutun2 yi denk olarak alması gerektiğini belirtiyor.Bunu örnekteki ifade üzerinden inceleyecek olursak kitap tablosundaki no sütunu ile fiyat tablosundaki no sütunu sorgu itibariyle denk kabul ediyor ve aynı değerler bulunan satırları tek bir satır halinde bize geri dönderiyor.Örnegin kitap.no sütunundaki “2” değeri ile fiyat.no daki “2” değerini karşılastırıyor ve eşit olduğunda bu her iki tablodaki değerleri bir sütunmuş gibi ekranda gösteriyor.Yukarıdaki sorgu için ekran görüntüsü:



                Genel olarak yukarıdaki gibi sorgu yapilabilir.Bunun haricinde ise “NATURAL JOIN ”, “JOIN ….. ON …..” komutları da kullanilabilir.Yukarıdaki örnek için bu komutların kullanımı aşagidaki gibidir:

SELECT fiyat,ad,yazar FROM kitap NATURAL JOIN fiyat;

SELECT ad,yazar,fiyat FROM kitap
JOIN fiyat ON kitap.no = fiyat.no;


0 yorum:

Yorum Gönder