SQL Birleştirme Dizisi Kullanmanın Akıllı Yolları

SQL Birleştirme Dizisi Kullanmanın Akıllı Yolları

Yapılandırılmış sorgu dili (SQL) oldukça güçlü bir araçtır ve özelliklerle dolu bir araçtır. En çok ustalaştıktan sonra önemli SQL komutları , SQL'inizle biraz daha yaratıcı olmaya başlayabilirsiniz. Bugün size SQL birleştirme dizeleri hakkında bilmeniz gereken her şeyi göstereceğim.





Birçok farklı SQL lehçesi vardır. Tüm bu örnekler için kullanıyorum PostgreSQL varyant.





wii u'da sd kart nasıl kullanılır

Birleştirme Nedir?

Birleştirme, iki şeyi bir araya getirmek demektir. İki dizgiyi birleştirmek için bir programlama dilinde kullanmış olabilirsiniz. Belki de tam ad değişkeni olarak bir araya getirdiğiniz bir ad ve soyadı değişkenleriniz vardır.





Birleştirme, iki dizgiyi tek bir dizgede birleştirmenin çok kullanışlı bir yoludur. PHP dizeleri birleştirmek için nokta kullanır, oysa JavaScript ve jQuery artı işareti kullanır.

SQL'de birleştirme tam olarak aynı şekilde çalışır. İki şeyi bir araya getirmek için özel bir operatör kullanırsınız. İşte bir örnek sözde kod :



first_name = Joe
last_name = Coburn
whole_name = first_name + last_name

Programlama dillerinde birleştirme, kodun okunmasını kolaylaştırır. Kodunuzun her zaman iki dizeye erişmesi gerekiyorsa, bunları bir dizede birleştirmek hatırlamayı kolaylaştırır ve kodun uzunluğunu azaltır.

SQL'deki değişkenler daha az yaygın olsa da (ancak hala kullanılıyor), birleşik sonuçları döndürmek veya verileri işlemek için birleştirme hala gereklidir.





Nasıl Birleştirilir

bitiştirme çok SQL'de kolay. SQL ortak bir dil olsa da, bireysel veritabanı motorları özellikleri farklı şekillerde uygular. Tüm bu örnekler PostgreSQL lehçesinde olsa da, web'de 'Concatenate' için arama yaparak diğer varyantlara çevirmek kolaydır. Farklı motorların birleştirme için farklı bir sözdizimi olabilir, ancak ilke aynı kalır.

İsim örneğimize geri dönersek, işte temel bir Seçme sorgu:





SELECT first_name, last_name, email FROM users_table

Burada karmaşık bir şey yok, o yüzden birleştirmeye ekleyelim:

SELECT first_name || last_name AS full_name, email FROM users_table

Gördüğünüz gibi, bu birleştirme mükemmel bir şekilde çalıştı, ancak küçük bir sorun var. Ortaya çıkan tam ad, tam olarak her iki sütunun ürünü olarak birbirine dikilmiştir - adlar arasında bir boşluk olmalıdır!

Neyse ki, düzeltmesi kolaydır: sadece ikisi arasında bir boşluk oluşturun:

SELECT first_name || ' ' || last_name AS full_name, email FROM users_table

Bunlar temel örneklerdir, ancak birleştirmenin nasıl çalıştığını görmelisiniz -- gerçekten bu kadar kolay! boru operatörü ( | ) yan tümceler arasında iki kez kullanılır. SQL motorunuz, bu sembolden önceki ve sonraki her parçanın birleştirilmesi ve tek olarak ele alınması gerektiğini bilir. Yine de dikkatli olun, concat operatörünü kullanırsanız ancak hiçbir şeyi birleştirmezseniz bir hata alırsınız.

Yukarıda bahsedildiği gibi, bu örnekler SQL'in PostgreSQL türevini kullanır. Diğer varyantlar farklı bir operatör, hatta aramanız gereken özel bir işlev kullanabilir. gerçekten önemli değil nasıl veritabanı motorunuzun beklediği şekilde yapmanızı sağlayarak dizeleri birleştirirsiniz.

daha derine inmek

Artık temel bilgileri öğrendiğinize göre, bazı yaygın tuzaklarla birlikte bazı derinlemesine örneklere bakalım.

Çoğu veritabanı motoru, dizelerin ve tamsayıların bir karışımını, hatta belki tarihleri ​​bile başarılı bir şekilde birleştirir. Diziler gibi karmaşık türleri birleştirmeye çalışırken genellikle sorunlarla karşılaşırsınız:

SELECT first_name || ' ' || last_name || ARRAY[123, 456] AS full_name, email FROM users_table

Bu kod çalışmayacak. Dizeleri diziler gibi karmaşık nesnelerle birleştirmek mümkün değildir. Ne yapmanız gerektiğini düşünüyorsanız, genellikle çalışmayan karmaşık, çılgın kodlar yerine çalışan basit kodlar yazabilirsiniz.

Ne yapmanız gerektiğini dikkatlice düşündüyseniz ve hala SQL'i çalıştıramıyorsanız, bir programlama dili kullanmayı düşündünüz mü? Eski kod üzerinde çalışan bir yazılım geliştiricisi olarak, birinin içine çok fazla mantık sığdırdığı SQL'de hata ayıklamaya çalışmanın acısını biliyorum, bu hiç de işe yaramıyor - eğer SQL'de mantık yazmaya çalışıyorsanız, o zaman bir programlama dili (öğrenmesi kolay birçok dil vardır).

Birleştirme için çok iyi çalışıyor nerede açıklamaları da:

SELECT first_name, last_name, email FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR')::date

Burada birkaç şey oluyor. Bu örnekte, GÜN , AY , ve YIL bir komut dosyasından geçirilen parametrelerdir. Belki bunlar kod tarafından oluşturulmuş veya bir kullanıcı tarafından girilmiştir. Bunlar birlikte birleştirilir ve daha sonra bir tarih tipine dönüştürülür (PostgreSQL yayın tarihi sözdizimi kullanılarak ::tarih ).

Birleştirmeyi bu şekilde kullanmak, daha sonra bir dize yerine 'gerçek' bir tarih olarak işlenebilen bir tarihin tek tek parçalarını birbirine zincirlemenize olanak tanır. Bu temel örneğin SQL enjeksiyonuna karşı koruma sağlamadığını unutmayın, bu nedenle değiştirmeden herhangi bir üretim kodunda kullanmayın.

Dikkat edilmesi gereken bir diğer tuzak ise boş değerler (boş bir dize, boş veya var olmayan bir dizedir). Bu sorgu verildiğinde:

SELECT first_name || ' ' || NULL AS full_name, email FROM users_table

Bu sorgu sessizce başarısız olur. Bunun nedeni, birleştirme işleminin veritabanı motorunuzda dahili olarak kodlanma şeklidir. Bu sorunla her zaman karşılaşmayabilirsiniz, ancak bu oldukça yaygın bir durumdur.

Sorgunuzun döndürdüğü verilerin boş olabileceğini düşünüyorsanız, bir birleşmek . Coalesce, kabaca 'bu boşsa, bunu diğer dize veya sütunla değiştirin' olarak düşünülebilir:

SELECT first_name || ' ' || COALESCE(NULL, 'ERROR NULL DATA') AS full_name, email FROM users_table

Artık SQL'de birleştirmeyi nasıl kullanacağınızı biliyorsunuz, bununla ne yapacaksınız? Mısın web sitesi yap ve SQL ile canlandırmak? Veya web siteleri oluşturmaya daha basit bir yaklaşım için statik bir site oluşturucuya ihtiyacınız olabilir.

Ne yaparsanız yapın, aşağıdaki yorumlarda bize bildirin!

.dat dosyası nasıl okunur
Paylaş Paylaş Cıvıldamak E-posta 6 Sesli Alternatif: En İyi Ücretsiz veya Ucuz Sesli Kitap Uygulamaları

Sesli kitaplar için ödeme yapmaktan hoşlanmıyorsanız, onları ücretsiz ve yasal olarak dinlemenize izin veren bazı harika uygulamalar burada.

Sonrakini Oku
İlgili konular
  • Programlama
  • Programlama
  • SQL
Yazar hakkında Joe Coburn(136 Makale Yayınlandı)

Joe, İngiltere'deki Lincoln Üniversitesi'nden Bilgisayar Bilimleri mezunudur. Profesyonel bir yazılım geliştiricisi ve drone uçurmadığı veya müzik yazmadığı zamanlarda, genellikle fotoğraf çekerken veya video çekerken bulunabilir.

Joe Coburn'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın