23 Mayıs 2014 Cuma

Where ve Joinler ile Tablo Birleştirme



TABLO BİRLEŞTİRME


A. WHERE İLE TABLO BİRLEŞTİRME


Ortak kayıtları where koşuluyla eşitleriz.


Kullanımı :  select <alanadi> from <tabloadi1><tabloadi2>


                    where <tablo1alanadi>=<tablo2alanadi>


         
                                                         
            select * from ogrenci,veli

where okulno=ogrno

İlk tablodaki okulno ikinci tablodaki ogrno ile eşitse birleştirir.
                                                            

              


B. JOİNLER İLE TABLO BİRLEŞTİRME


1.INNER JOIN : Sadece her iki tabloda da ortak olan kayıtlar listelenir.


     Kullanımı:  select <alanadi> from <tabloadi1>

                        inner join <tabloadi2>

                        on <tablo1alanadi>=<tablo2alanadi>                       



     select * from ogrenci
inner join veli
on okulno=ogrno

Where ile tablo birleştirmeyle aynı görevi yaptı. Her iki tabloda bulunan ortak kayıtları listeledi.                                                                                  



2.FULL JOIN : Her iki tabloda da kesişen veya kesişmeyen TÜM kayıtlar gösterilir. Ortak olanlarla eşleşen kayıtlar görünür, eşleşmeyen kayıtlar NULL(TANIMSIZ) olarak gözükür.


* Sonuçlarda daima ilk yazılan tablo baz alınır. Önce ilk tablonun kayıtları yazılır, eşleşmeyen ikinci tablonun kayıtları NULL olarak tanımlanır. Birinci tabloda olmayan kayıtlar varsa en sona eklenir.

Kullanımı :  select <alanadi> from <tabloadi1>

                    full join <tabloadi2>

                    on <tablo1alanadi>=<tablo2alanadi>

                                                                                                                                                    
                                                     

                                                                                                      select * from ogrenci
full join veli

on okulno=ogrno


       Eşleşmeyen kayıtlar NULL olarak gözüktü.    

                                                                                         

3.CROSS JOIN : İlk tablonun kayıtları diğer tablodaki kayıtlarla tek tek çaprazlanır.


Kullanımı:  select <alanadi> from <tabloadi>

                   cross join <tabloadi2



                                                                                          



select * from ogrenci
cross join veli






         İlk tablodaki kayıtlarla tek tek çaprazladı.






4.OUTER JOIN


2 çeşidi vardır;


a. Left outer join: Left outer join ifadesinin sol tarafındaki tablo baz alınır. O tablonun kayıtları olduğu gibi yazılır. Diğer tablodan eşleşen kayıtlar karşısına yazılır. Eğer eşleşen kayıt yoksa o satır NULL ile tanımlanır.


Kullanımı:  select <alanadi> from <tabloadi1>

                   left outer join <tabloadi2>

                   on <tablo1alanadi>=<tablo2alanadi>



b. Right outer join: Right outer join ifadesinin sağ tarafındaki tablo baz alınır. O tablonun kayıtları olduğu gibi yazılır. Diğer tablodan eşleşen kayıtlar karşısına yazılır. Eğer eşleşen kayıt yoksa o satır NULL ile tanımlanır.


Kullanımı:  select <alanadi> from <tabloadi1>

                   right outer join <tabloadi2>

                    on <tablo1alanadi>=<tablo2alanadi>








                                         

Hiç yorum yok:

Yorum Gönder