Katılmak vs iç katılmak
İletişim odaklı bu dünyada, iletişim tamamen veri aktarımı ile ilgili olduğu için verileri verimli bir şekilde ele almamız gerektiği açıktır. Bunu yapmak için, verilerimizi günlük amaçlarımız için saklamak ve almak üzere MS Access, SQL Server, Oracle, vb. Hiç bir veritabanı denediniz mi? Bir DB işlemek o kadar da zor değil - hatta deneyebilirsiniz! İhtiyacınız olan tek şey, veritabanlarının içeriğini değiştirmek veya almak için sözdizimleridir. 'Join' ve 'Inner Join' sözdizimlerini açıklayalım ve işlevlerinde veya performanslarında farklılık gösterip göstermediklerini belirleyelim.
Nedir 'Katılmak'Veritabanında?
'Join' sözdizimi, iki veya daha fazla veritabanından veya veritabanı tablosundan eşleşen sütunları alabilir. Veritabanları her zaman tablo olarak görselleştirilir ve verileri sütunlar ve satırlar şeklinde tutan gerçek bağımsız birimlerdir. Her tablo, her satır için benzersiz kalan bir tanımlayıcı anahtar kullanılarak oluşturulur. Tüm manipülasyonlarımız bu tuşlara dayanmaktadır - daha fazla okuyarak bunları nasıl kullanacağınızı öğrenebilirsiniz. Farklılıklara geçmeden önce, 'birleştirme'nin genel sözdizimine bir göz atalım.
SEÇ Sütun adı
DAN Tablo 1
KATILMAK Tablo 2
AÇIK Table1.Column_name = Table2.Column_name.
Yukarıdaki sözdizimi, belirtilen sütun adları için eşleşen tüm satırları Tablo1 ve Tablo2 tablolarından alır. Sütun_adı'nın her iki tabloda da tanımlayıcı anahtar olduğunu ve yukarıdaki sorgunun eşleşen satırları bulmak için bunları karşılaştırdığını unutmayın..
Nedir 'İç birleşim' yapar?
'Inner Join', işlevsel olarak 'Join' sözdizimiyle aynı olan bir SQL sözdizimidir. Yukarıdaki SQL sorgusunda 'Join' yerine 'Inner Join' ifadesini değiştirdiğinizde aynı sonucu elde edersiniz! Şok edici, değil mi? Öyleyse neden aynı işlevi yerine getirmek için iki farklı sözdizimimiz var? Şimdiye kadar, çoğunuz muhtemelen bunu merak ediyorsunuz; daha fazla okuyarak nedenini öğrenebilirsin.
Daha iyi anlamak için aşağıdaki resme bir göz atın.
Yukarıdaki resimde 'İç birleşim' varlığını fark edebilirsiniz ve 'birleşim' için ayrı bir sözdizimi yoktur. Bu açıkça her iki sözdiziminin de aynı olduğunu kanıtlıyor ve 'birleştirme'yi tasvir etmek için ek bir şemaya ihtiyacımız yok.
Aynı işlev için neden iki farklı Sözdizimi
'Dış birleşim', 'Sol birleşim' ve 'Sağ birleşim' gibi daha fazla 'Birleştirme' türü vardır. Bu 'birleştirme' sözdizimleri işlevlerinde önemli ölçüde farklılık gösterir ve uygun olandan bahsederken spesifik olmalıyız. Hem 'birleştirme' hem de 'iç birleştirme' aynı işlevi yerine getirdiği için, kodlarken 'iç' kelimesini ihmal edebiliriz. Bazen, geliştiriciler arasında geliştiricinin bahsettiği 'birleştirme' türü konusunda bir belirsizlik ortaya çıkabilir. Bu, yeni uygulayan geliştiriciler için yaygın bir sorundur; yeni gelenler 'join' ifadelerini yazarken özel olmalıdır. Ve böylece, sadece diğer 'birleştirme' türleriyle karışıklığı önlemek için açık bir 'iç birleşim' ifademiz olduğunu söyleyebiliriz. Belirsiz olanlara gitmek yerine okuyucularımıza devam etmelerini ve açık sözdizimlerini kullanmalarını öneriyoruz.
SQL sorguları birkaç veritabanıyla sınırlı değildir ve bunları SQL Server, MS Access, Oracle, vs. gibi çeşitli DB'lerde kullanırız. Evet, yalnızca sorgunuzda kullanacağınız 'İç birleşim', 'Dış birleşim', 'Sol birleşim' ve 'Sağ birleşim' türünü belirttiğinizde kabul eder. Bu nedenle, aynı veya benzer sözdizimlerini çeşitli veritabanlarında kullanmayı planladığınızda, sorgunuzda yalnızca 'birleştirme' yerine 'İç birleştirme' yazmalısınız! Her ikisi de aynı işi yapıyor olsalar da, bir fark var.
Çoğu kişi 'birleştirme' ve 'İç birleştirme'nin aynı olmadığını düşünür; sürprizlerine göre, işlevsellik ve performans açısından aynıdırlar. SQL'in 'join' işlevine 'iç birleştirme' kısa biçimi olarak davrandığını söyleyebiliriz. Bu teknik olarak doğru bir ifade olmasa da, daha kolay anlaşılması için bunu böyle koyabiliriz. Ancak, 'İç birleşim' olarak yazarak birkaç vuruş daha yaptığınızdan emin olun - sizi yukarıda tartıştığımız diğer sorunlardan koruyabilir.
Peki, kullanmak için en iyi uygulama nedir?Katılmak'veya 'İç birleşim'?
Yalnızca 'join' kullanmayı planladığınız sorgularda 'İç birleştirmeyi' kullanmanızı öneririz. İlki mantıklı ve net görünüyor! Buna ek olarak, programcının hangi tip “birleştirmek” için kullanılması gerektiği konusunda herhangi bir belirsizlik olmayacaktır. Ayrıca, diğer programcılar dokümantasyon veya anlama amaçları için yardımınızı istemeyecektir. Şimdi, her şeyi özetleyelim ve aşağıdaki tabloya bakarak iki sözdiziminin nasıl farklı olduğunu görelim.
S.No | Katılmak | İç birleşim | |
1 | Sözdizimi | SEÇ COLUMN_NAMES DAN Tablo 1 KATILMAK Tablo 2 AÇIK Table1.Column_name = Table2.Column_name. | SEÇ COLUMN_NAMES DAN Tablo 1 İÇ BİRLEŞİM Tablo 2 AÇIK Table1.Column_name = Table2.Column_name. |
2 | Geliştiriciler için | Yalnızca 'join' ifadesi, geliştiricinin hangi türde "join'a katıldığına dair belirsizlik yaratır. | Kodda 'İç birleşimi' kullanmak çok açıktır ve diğer geliştiriciler için kendi kendini belgeleyen bir kod oluşturur. |
3 | MS Access DB | Basit 'katıl' ifadesini kabul eder. | 'İç birleşim' ifadesini kabul eder. |
4 | Kısa form | Bu kısa form olarak kabul edilebilir ve daha fazla kısaltılamaz. | 'İç birleşim' sadece 'katılmak' için kısaltılabilir. |
5 | Hangisi daha iyi? | 'Join', 'Inner join' ile aynı anlama gelse de, iyi bir geliştirici belirsizlikleri önlemek için net sözdizimleri kullanmalıdır. | 'İç birleşim' daha iyi olsa da, performansın yanı sıra işlevde 'birleşmeye' eşdeğerdir. |