Blog,  PROGRAM,  SQL

SQL Notları 3 – “CASE” SATIR SAYDIR

Case ile Satır Sayısını Saydırmak

CASE YAPISI

CASE if-then mantığını uygulamak için kullanılır. Programlamada “case yapısı” (ya da “switch-case yapısı”) belirli bir değere göre kodun belirli bloklarının çalıştırılmasını sağlayan bir kontrol yapısıdır. switch-case yapısı, genellikle birçok if-else if-else ifadesi kullanmak yerine daha okunabilir ve düzenli bir yapı sunar. Farklı programlama dillerinde benzer şekillerde kullanılsa da, söz dizimi dilin kurallarına bağlı olarak değişebilir. SQL (Structured Query Language), ilişkisel veritabanı yönetim sistemleri (RDBMS) ile veri yönetimi ve manipülasyonu için kullanılan bir dildir. SQL, veritabanlarındaki verileri sorgulamak, güncellemek, eklemek ve silmek için standart bir dil olarak kabul edilir. Ayrıca, veritabanı tablolarının ve şemalarının oluşturulması, değiştirilmesi ve yönetilmesi gibi çeşitli veritabanı işlemleri için de kullanılır.

veya

Notlar
Basit CASE ifadesi, input_expression değeri ile eşit olan ilk sonucu döner.
Aranan CASE ifadesi, conditionX değeri doğru olan ilk sonucu döner.

Örnekler

Aranan CASE (Boolean ifadeye göre) Aranan CASE, bir boolean ifade TRUE olduğunda sonuç döner. Bu, sadece eşitlik kontrolü yapan basit CASE’den farklıdır.

Sonuç:

IdItemIdPricePriceRating
110034.5EXPENSIVE
21452.3CHEAP
310034.5EXPENSIVE
410034.5EXPENSIVE
514510AFFORDABLE

CASE ile Satır Sayısını Saymak CASE, SUM ile birlikte kullanılarak belirli bir koşula uyan öğelerin sayısını döndürebilir. Bu, Excel’deki COUNTIF’e benzer.

Örneğin, “Expensive” olarak kategorize edilen öğelerin toplam sayısını öğrenmek istiyorsunuz:

Sonuç:

ItemsCountExpensiveItemsCount
53

Alternatif:

Shorthand CASE in SELECT CASE’in kısa versiyonu, bir ifadeyi (genellikle bir sütunu) bir dizi değerle karşılaştırır. Bu versiyon biraz daha kısa olup, tekrar tekrar değerlendirilen ifadeyi kaydeder.

Dikkat edilmesi gereken bir nokta, kısa versiyonda tüm ifadenin her WHEN’de değerlendirilmesidir. Bu, şu sonucu verebilir:

Bu durum, NULL sonuç dönebilir çünkü her WHEN’de NEWID() yeniden çağrılmaktadır.

ORDER BY’de CASE Kullanımı ORDER BY’de sıralama türünü belirlemek için 1,2,3… kullanılabilir:

UPDATE’de CASE Kullanımı Fiyat artışlarına örnek:

NULL Değerleri Sıralamak İçin CASE Kullanımı NULL değerleri en son sıralamak için:

İki Sütunun En Düşük Değerine Göre Sıralama İki sütundan birinin en düşük değerine göre sıralama yapmak istiyorsanız:

Sonuçlar:

IdDate1Date2
12017-01-012017-01-31
32017-01-312017-01-02
22017-01-312017-01-03
62017-01-042017-01-31
52017-01-312017-01-05
42017-01-062017-01-31

Açıklama: Id = 1 olan satır ilk sıradadır çünkü Date1, tablodaki en düşük tarihtir. Id = 3 olan satır ise Date2’nin 2017-01-02 tarihi ile ikinci en düşük değer olması nedeniyle ikinci sıradadır. Bu şekilde, kayıtlar en düşük tarihten en yüksek tarihe doğru sıralanır.

SQL

Bir cevap yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir