SQL Left Join Kullanımı

  1. kral34
    3
    185
    9/9/2018 11:53:00 PM

    Sql de left join nedir , kullanım amacı nedir bir türlü anlamış değilim , az ve öz anlatabilecek var mı arkadaşlar ?

    sql sql-server 5 ay önce 146 Görüntüleme

( 1 ) Cevap

  1. ali
    1
    ali
    4377
    12/14/2018 11:22:00 PM

    Sql de left join yapılırsa ilk belirtilen tablonun bütün değerleri gelir. Daha sonra join yapılan tablonun kolonları gelir. Eşleşme yok ise null değer döner.

    Örnek ile açıklarsak daha akılda kalıcı olur diye düşünüyorum.

    ------------------------
    --select * from siparis
    id  adi         fiyat
    1   siparis1    10.00
    2   siparis2    20.00
    3   siparis3    30.00
    4   siparis4    40.00
    5   siparis5    50.00
     ----------------------
    --select * from satiss
    
    id  adi     siparisid   fiyat
    1   satis1  1           10.00
    2   satis2  2           20.00
    

    Burdaki örnekte siparişler satışlar ile left join yapacağız. Çünkü her siparişin satışı olmayabilir. eşleşmeyen siparişleri de listelemek için

     select * from siparis si left join    satiss sa on si.id=sa.siparisid
    
    id  adi         fiyat   satişid adi     siparisid   fiyat
    1   siparis1    10.00   1       satis1  1           10.00
    2   siparis2    20.00   2       satis2  2           20.00
    3   siparis3    30.00   NULL    NULL    NULL        NULL
    4   siparis4    40.00   NULL    NULL    NULL        NULL
    5   siparis5    50.00   NULL    NULL    NULL        NULL
    

    3 4 ve 5 numaralı siparişin satışı olmadığı için o kolonlar null olarak geldi.,,

    tam tersi olarak left join yaparsak ; satışları getirir ve bu satışlara ait siparişleri getirir.

    id  adi     siparisid   fiyat   id  adi         fiyat
    1   satis1  1           10.00   1   siparis1    10.00
    2   satis2  2           20.00   2   siparis2    20.00
    

    Eğer siparişi olmayan satışlar olsaydı null olarak dönecekti.

Cevabınız