Yazılım Eğitim

Yeni Haberler

SQL Server Tabloların Birleştirilmesi | Sql Tablo Birleştirme

 

SQL Server Tabloların Birleştirilmesi | Sql Tablo Birleştirme

Selamlar arkadaşlar

Bu makalemiz de sizlere  Sql Server Veri tabanında t-sql ile Tabloların nasıl birleştirilebildiğini göstereceğim.

İlişkisel veri tabanı tasarımında, bilgiler farklı tablolara dağıtılır ve tablolar arası bağlantılar birincil ve ikincil anahtarlar üzerinden sağlanır. 

     Yani bir tabloda sayı ile temsil edilen bir verinin gerçek değerine başka tablodan erişilebilmektedir. 

     Bazen de bir varlığın farklı türde bilgileri farklı tablolarda tutulduğu için söz konusu varlığa ait diğer bilgilere erişmek için bir sorguda birden fazla tabloya erişmek gerekmektedir. 

     Farklı tablolarda farklı formatta tutulan kayıtların birleştirilerek tek liste oluşturulması gereğine binaen ve tabloların aralarında ilişkilendirilerek sorgulanmasında kullanılan SQL yapılarını göreceğiz.

     Tabloların birleştirilmesinde yaygın olarak kullanılan yöntem tabloların, birincil ve ikincil anahtarlar vasıtasıyla eşleştirilmesidir. 

      Tabloların ortak alanlarına yani birincil ve ikincil anahtarlarına göre birleştirilmesi, sorgu cümlesindeki koşullar ile sağlanmaktadır. 

       Tablolar eşleştirildikten sonra her iki tabloda karşılıklı olarak eşleşen kayıtların listelenmesi (eşiti olan birleştirme), tablo birleştirme yapılarından “Inner Join” (iç birleştirme) ve klasik birleştirme ile mümkün olmaktadır. 

      İç birleştirme, klasik birleştirmeyle aynı işleve sahip olmasına rağmen sorgunun yazılışı faklılık arz etmektedir. 

      Klasik birleştirmede, koşul ifadesi için “Where” ifadesi yeterliyken iç birleştirmede “Inner Join” ve “On” ifadeleri kullanılarak sorgu oluşturulmaktadır.

      Eşleştirilen tablolardan birinde bulunup diğer tabloda bulunmayan kayıtların da çekilebilmesi için eşiti olmayan birleştirme yapıları kullanılmaktadır. 

      Outer Join (dış birleştirme) olarak da bilinen bu birleştirme “Left” (sol), “Right” ve “Full” (tüm) olmak üzere üç tip birleştirme bulunmaktadır. 

     Bu birleştirme türleri dışında bir de herhangi bir koşul belirtilmeden iki tablonun birleştirildiği yapı bulunmaktadır ki bu birleştirmeye “Cross Join” (çapraz birleştirme) denilmektedir. 

    Özetle bu ünitede her bir birleştirme türü ayrıntılı olarak işlenecek ve çeşitli örnekler ile konunun pekiştirilmesine çalışılacaktır. 

 
 TABLOLARIN BİRLEŞTİRİLMESİ


İlişkisel veri tabanı türünde, veri tekrarının önüne geçilebilmesi için bir varlığa iliklin veriler birden fazla tabloda tutulmaktadır. 
    
       Örneğin öğrencinin kişisel bilgileri bir tabloda tutulurken iletişim bilgileri başka bir tabloda, aldığı dersler ve sınav notu bilgileri ise başka tablolarda tutulmaktadır. 
       
      Herhangi bir öğrenciye ilişkin bilgiler sorgulanırken doğal olarak bu tabloların bazısı birlikte sorgulanmak durumundadır diğer bir deyişle normalizasyon formları uygulanarak birden fazla tabloya dağılmış olan bilgi parçalarını tek bir listede birleştirerek gösterebilmek için tablolar arası birleştirme (join) işlemi uygulanır. 

      Birden fazla tabloyu birleştirirken de tabloların ortak olan sütunları bir koşul ifadesiyle eşleştirilir. Daha sonra anlatılacak olan çapraz birleştirme ise bunun dışındadır. 

     Birleştirme şartındaki eşleştirme sonrası iki tablodan da sadece eşleşen kayıtların görüntülenmesinin sağlandığı, eşiti olan birleştirme, klasik birleştirme veya iç birleştirme ile yapılabilmektedir.

      Birleşme şartına uymayan kayıtların da listelendiği birleştirme türüne de eşiti olmayan birleştirme denilmektedir. 

Basit 2 Tablo Birleştirerek Sorgulama
     
      


Takma Ad Vererek Sorgu Yapma


Sorgulama esnasında veri tabanında yer alan bir tabloya veya kolona, takma ad verilmesi, sorgunun yazılmasını kolaylaştırır ve anlaşılır kılar. 
   
   Tablo veya kolon adının uzun olması durumunda da kısa bir takma ad kullanılması yazımı kolaylaştırır. 
      
     Hesaplanan değerler görüntülenirken de takma ad kullanılmadığında ilgili veriler “No column name” yani “Kolon adı yok” başlığı altında listelenmektedir.

    Anlaşılırlığı artırmak için de hesaplanan değerlerin bulunduğu sütuna takma ad verilmesi tavsiye edilmektedir.

       Birden fazla tablonun birleştirildiği durumda da olası karışıklıkların önüne geçmek için takma ad kullanımı faydalıdır. 
       
      Özellike birleştirmede kullanılan tabloların aynı isme sahip sütunları bulunduğunda ilgili sütunlara erişilirken “TabloAdı.SütunAdı” yapısının kullanılması gerekmektedir. 
       
   Bu yapı içinde de takma ad kullanılması yazımı kısaltacak ve anlaşılır kılacaktır.


Takma ad uygulamasında "as" ifadesinin kullanımı ise seçimliktir. Yani kullanılması ve kullanılmaması arasında bir fark bulunmamaktadır.

Hiç yorum yok