İlan

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ı Herhangi Bir Programcının Bilmesi Gereken 13 Önemli SQL KomutuHer büyük veya dinamik web sitesi bir şekilde bir veritabanı kullanır ve Yapısal Sorgu Dili (SQL) ile birleştirildiğinde, verileri manipüle etme olanakları gerçekten sonsuzdur. Daha fazla oku , 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 şunu kullanıyorum: PostgreSQL varyant.

Birleştirme Nedir?

Birleştirme, iki şeye birlikte katılmak anlamına gelir. İki dizeyi bir araya getirmek için bir programlama dilinde kullanmış olabilirsiniz. Belki de tam ad değişkeni olarak bir araya getirdiğiniz bir adınız ve soyadınız değişkeniniz vardır.

Birleştirme iki dizeyi bir araya getirmenin çok yararlı bir yoludur. PHP dizeleri birleştirmek için tam bir durak kullanır, oysa

instagram viewer
JavaScript ve jQuery Javascript Programcıları için JQuery Temel KılavuzuBir Javascript programcısıysanız, JQuery'nin bu kılavuzu bir ninja gibi kodlamaya başlamanıza yardımcı olacaktır. Daha fazla oku artı işareti kullanın.

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

first_name = Joe. last_name = Coburn. bütün_ismi = ad_ismi + soyadı

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 (yine de kullanılmaktadır), birleştirilmiş sonuçları döndürmek veya verileri işlemek için birleştirme hala gereklidir.

Birleştirme Nasıl Yapılır

Birleş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, yalnızca web'de “Birleştir .” Farklı motorlar, birleştirme için farklı bir sözdizimine sahip olabilir, ancak prensip aynı kalır.

İsim örneğimize geri dönersek, temel seçmek sorgu:

Ad_adı, soyadı, e-posta FROM users_table
sql seçin

Burada karmaşık bir şey yok, bu yüzden bitiştirmeye ekleyelim:

Adı SEÇ || last_name tam ad olarak, e-posta FROM users_table
sql temel birleştirme

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

Neyse ki, düzeltmesi kolaydır: ikisi arasında bir boşluk bırakmanız yeterlidir:

Adı SEÇ || '' || last_name tam ad olarak, e-posta FROM users_table
sql birleştirme alanı

Bunlar temel örneklerdir, ancak birleştirme işleminin nasıl çalıştığını görmelisiniz - gerçekten bu kadar kolay! Boru operatörü (|) cümleleri arasında iki kez kullanılır. SQL motorunuz, bu simgeden önce ve sonra her parçanın birleştirilmesi ve bir parça olarak işlem görmesi gerektiğini bilir. Ancak dikkatli olun, concat operatörünü kullanırsanız ancak hiçbir şey birleştirmezseniz hata alırsınız.

sql hatası

Yukarıda belirtildiği gibi, bu örnekler SQL'in PostgreSQL varyantını kullanır. Diğer varyantlar farklı bir operatör veya hatta aramanız gereken özel bir işlev kullanabilir. Hiç önemli değil Nasıl dizeleri birleştirir ve veritabanı motorunuzun beklediği şekilde bunu yaparsınız.

Daha derine inmek

Şimdi temelleri bildiğinize göre, bazı yaygın tuzaklarla birlikte bazı derinlemesine örneklere bakalım.

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

Adı SEÇ || '' || soyadı || ARRAY [123, 456] AS tam_adı, users_table'dan e-posta

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

Ne yapmanız gerektiğini dikkatlice düşündüyseniz ve yine de SQL'in çalışmasını sağlayamıyorsanız, bir programlama dili kullanmayı düşündünüz mü? Eski kod üzerinde çalışan bir yazılım geliştiricisi olarak, SQL'de hata ayıklamanın birisinin bu kadar mantıkla tıka basa vurmanın acısını biliyorum hiç şüphe yok ki, SQL'de mantık yazmaya çalışıyorsanız, bir programlama diline geçin ( nın-nin öğrenmesi kolay diller Yeni Başlayanlar İçin Öğrenmesi Gereken 6 En Kolay Programlama DiliProgramlamayı öğrenmek, eğitim süreci kadar doğru dili bulmaktır. İşte yeni başlayanlar için en kolay altı programlama dili. Daha fazla oku ).

Zincirleme çok iyi çalışıyor nerede ifadeleri de:

Ad, soyad, soyad, e-posta FROM users_table WHERE date_of_birth = ('DAY' || '/' || 'MONTH' || '/' || 'YEAR'):: tarih

Burada birkaç şey oluyor. Bu örnekte, GÜN, AY, ve YIL bir komut dosyasından aktarılan parametrelerdir. Belki bunlar kod ile oluşturulmuş veya bir kullanıcı tarafından girilmiştir. Bunlar bir araya getirilir ve ardından bir tarih türüne (bugüne kadar PostgreSQL döküm sözdizimi kullanılarak) verilir. :: tarih).

Bu şekilde birleştirme kullanıldığında, bir dizenin aksine "gerçek" bir tarih olarak işlenebilen bir tarihin tek tek bölümlerini birbirine zincirleme olanağı sağlar. Bu temel örneğin, SQL enjeksiyonu SQL Enjeksiyonu Nedir? [Açıklamalar MakeUseOf]İnternet güvenliği dünyası açık portlar, arka kapılar, güvenlik açıkları, Truva atları, solucanlar, güvenlik duvarı güvenlik açıkları ve hepimizi her gün ayak parmaklarımızda tutan bir dizi başka sorunla boğuşuyor. Özel kullanıcılar için ... Daha fazla oku , değiştirmeden herhangi bir üretim kodunda kullanmayın.

Dikkat edilmesi gereken bir başka tuzak ise boş (boş bir dize, boş veya var olmayan bir dizedir). Bu sorgu verildiğinde:

Adı SEÇ || '' || NULL AS full_name, e-posta FROM users_table
sql null bitiştirmesi

Bu sorgu sessizce başarısız olur. Bunun nedeni, birleştirme işleminin veritabanı motorunuzda dahili olarak kodlanmasıdır. 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 kaynaşabilecek. Coalesce kabaca “bu boşsa, bunu diğer dize veya sütunla değiştirin” olarak düşünülebilir:

Adı SEÇ || '' || COALESCE (NULL, 'ERROR NULL DATA') Tam ad olarak AS, users_table'dan e-posta gönder
sql birleştirme birleşimi

Şimdi SQL'de birleştirme kullanmayı biliyorsunuz, onunla ne yapacaksınız? Mısın web sitesi yap Web Sitesi Nasıl Yapılır: Yeni Başlayanlar İçinBugün sıfırdan eksiksiz bir web sitesi yapma sürecinde size rehberlik edeceğim. Bu zor geliyorsa endişelenmeyin. Yol boyunca her adımda size rehberlik edeceğim. Daha fazla oku ve SQL ile canlandırdı? Ya da belki bir statik site üreteci CMS'nizi Bırakmanın ve Statik Bir Site Oluşturucuyu Düşünmenin 7 NedeniUzun yıllar boyunca, bir web sitesi yayınlamak birçok kullanıcı için zordu. WordPress gibi CMS'ler bunu değiştirdi, ancak yine de kafa karıştırıcı olabilirler. Başka bir alternatif Statik Site Oluşturucu'dur. Daha fazla oku Web siteleri oluşturmak için daha basit bir yaklaşım.

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

Joe, İngiltere Lincoln Üniversitesi Bilgisayar Bilimi mezunudur. Profesyonel bir yazılım geliştiricisidir ve uçağı uçurmadığı veya müzik yazmadığı zamanlarda, genellikle fotoğraf çekerken veya video üretirken bulunabilir.