Konular

EBooklar

İlişkisel veritabanının en temelinde birden fazla tablo üstünde birlikte işlem yapabilmek yatar. Bu sayede verilerin tekrarlaması önlenmiş olur ve sonuçta veri yönetimi kolaylaşır.

 

Joinler için Tablolarımız

iller tablosu         hava_durumu tablosu
 Join İşlemleri    Join İşlemleri

 

Inner Join

Inner Join, sadece iki tabloda da var olan verileri esas alır; eğer bir tabloda karşılık yoksa, o kaydı hiç ekrana getirmez.

Inner Join ile tüm alanları karşılaştırıp bağlayabilirsiniz; ancak Memo ve OLE Object alanlarını birleştirmek isterseniz hata alırsınız. Bu alanlarla JOIN işlemi yapmayınız.

    Bir sorguda istediğiniz kadar Inner Join kullanabilirsiniz. Böylece sadece iki tabloyu değil; istediğiniz kadar tabloyu aynı anda birbirine bağlayabilirsiniz.

    Inner Join, sadece iki tabloda da var olan verileri alır. Yani eğer tblKisiler tablosundaki bir kişinin tblSiteler tablosunda hiç kaydı olmasaydı yukarıdaki sorguda o kişi hiç seçilmeyecekti ve sonuçta çıkmayacaktı.

SELECT iller.ilad, hava_durumu.durum
FROM iller, hava_durumu
WHERE iller.ilno = hava_durumu.ilno

veya 

SELECT iller.ilad, hava_durumu.durum
FROM iller INNER JOIN hava_durumu ON iller.ilno=hava_durumu.ilno

Join İşlemleri

Left Join

LEFT sözcüğünden önceki tablo soldaki tablo, sonraki tablo sağdaki tablodur.

Inner Join'e oldukça benzese de bu bağlama türünün bir farkı vardır. Inner Join, daha önce de dediğim gibi, sadece iki tabloda da var olan verileri esas alır; eğer bir tabloda karşılık yoksa, o kaydı hiç ekrana getirmez. Ancak LEFT veya RIGHT join 'de istediğiniz yandaki (Left veya Right) tüm veriler ekrana gelir.Tanımı biraz karışık gibi de olsa, birazdan örneklerle daha iyi anlayacaksınız.

Eğer bir sorgu da Left JOIN kullanırsanız,( tabloSOL.alan1 = tabloSAG.alan2  ), sol taraftaki tabloda bulunan (tabloSOL) tüm veriler, sağdaki tabloda olup olmadığına bakılmaksınız ekrana yazılacaktır. Karşılığı bulunanlarda gerekli veri ekranda yazacak olmayanlarda ise <NULL> yazacaktır. 

LEFT joinde soldaki tablodaki tüm değerler listelenirken sağdaki tablodaki değerlerden karşılığı olanlar yazılır, karşılığı olmayanlar yerine NULL yazılır.

SELECT iller.ilad, hava_durumu.durum
FROM iller LEFT JOIN hava_durumu ON iller.ilno=hava_durumu.ilno

Join İşlemleri

Right Join

Eğer bir sorgu da Right JOIN kullanırsanız,( tabloSOL.alan1 = tabloSAG.alan2  ), sağ taraftaki tabloda bulunan (tabloSAG) tüm veriler, soldaki tabloda olup olmadığına bakılmaksınız ekrana yazılacaktır. Karşılığı bulunanlarda gerekli veri ekranda yazacak olmayanlarda ise <NULL> yazacaktır.

RIGHT joinde sağdaki tablodaki tüm değerler listelenirken soldaki tablodaki değerlerden karşılığı olanlar yazılır, karşılığı olmayanlar yerine NULL yazılır.

 

SELECT iller.ilad, hava_durumu.durum
FROM iller RIGHT JOIN hava_durumu ON iller.ilno=hava_durumu.ilno 

Join İşlemleri

 

 

Join İşlemleri

Yorumunuzu Ekleyin


Yorumlar

  1. MUHJAMMET
    ÇOK T.EDERİM
    02 Haziran 2010 17:53:32, Çarşamba Like
  2. Emrullah
    Rigth join ekran ciktisinda bir adet daha satir bulunmasi gerekiyor:
    NULL - Gunesli seklinde.
    13 Mart 2015 00:16:27, Cuma Like
  3. cnytkc
    Merhaba php de yeniyim bende 2 tablo var ilk tablo üyeler tablosu ikincisi konular ben konularda konu yazar adında bir alan açtım şimdi bu konu yazar alanına üye id kullanarak ekleyen uyenin adını nasıl getirebilirim
    03 Ocak 2016 19:07:22, Pazar Like
  • Veritabanı Nedir?
  • Veritabanı Nedir? ~ 91,325

    Veritabanı basit olarak bilgi depolayan bir yazılımdır. Bir çok yazılım bilgi depolayabilir ama aradaki fark, veritabanın bu bilgiyi verimli ve hizli bir şekilde yönetip degiştirebilmesidir. Veritabanı, bilgi sisteminin kalbidir ve etkili kullanmakla değe...


  • Sql Komutları
  • Sql Komutları ~ 88,379

    Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı












  • View Oluşturma ~ 26,626

    Sql komutlarından view oluşturma ve faydaları, myadminde gösterimi









  • Sql Komutları ~ 19,152

    Dıstınct, ın, not ın, ınselect..., any, all, exısts, not exısts, unıon, except, between










  • Joinler
  • Joinler ~ 16,036

    Joinler, inner join, left join, right join