SQL'de Aralıklar İçindeki Verileri Seçme

WHERE maddesinin tanıtılması ve durumun karşılaştırılması

Structured Query Language (SQL) , veritabanı kullanıcılarına veritabanlarından bilgi almak için özelleştirilmiş sorgular oluşturma yeteneği sağlar. Daha önceki bir makalede, SQL SELECT sorgularını kullanarak bir veritabanından bilgi çıkarmayı araştırdık. Bu tartışmayı genişletelim ve belirli koşullarla eşleşen verileri almak için gelişmiş sorguları nasıl yapabileceğinizi keşfedin.

Yaygın olarak kullanılan ve veritabanı ürünleri ile bir öğretici olarak gönderilen Northwind veritabanına dayalı bir örnek düşünelim.

Veritabanının Ürün tablosundan bir alıntı:

Ürün Tablosu
Ürün kimliği Ürün adı Tedarikçi kimliği QuantityPerUnit Birim fiyat StokBirimleri
1 Chai 1 10 kutu x 20 torba 18.00 39
2 Chang 1 24 - 12 oz şişe 19,00 17
3 Anason Şurubu 1 12 - 550 ml'lik şişeler 10.00 13
4 Şef Anton'un Cajun Baharatı 2 48 - 6 oz kavanoz 22.00 53
5 Şef Anton'un Gumbo Mix 2 36 kutu 21.35 0
6 Büyükannenin Boysenberry Spread 3 12 - 8 oz kavanoz 25.00 120
7 Bob Amca'nın Organik Kuru Armutları 3 12 - 1 lb pkgs. 30.00 15

Basit Sınır Koşulları

Sorgumuza yerleştireceğimiz ilk kısıtlamalar, basit sınır koşullarını içerir. Bunları, SELECT sorgusunun WHERE yan tümcesinde, <,>,> = ve <= gibi standart işleçlerle oluşturulmuş basit durum ifadelerini kullanarak belirtebiliriz.


İlk olarak, 20.00'den fazla UnitPrice olan tüm ürünlerin listesini çıkarmamızı sağlayan basit bir sorguyu deneyelim:

SELECT ProductName, UnitPrice ÜRÜNLERİMİZ ÜNİTEFiyat> 20.00

Bu, aşağıda gösterildiği gibi dört ürünün bir listesini oluşturur:

ProductName UnitPrice ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

WHERE yan tümcesini dize değerleri ile de kullanabiliriz. Bu, temel olarak karakterleri A'ya eşittir ve A değeri, değeri (26) temsil eder. A, U, V, W, X, Y veya Z ile başlayan tüm ürünleri aşağıdaki sorguyla gösterebiliriz:

ProductName ürünlerini seçtiniz. WHERE ProductName> = 'T'

Hangi sonucu üretir:

ProductName ------- Bob Amca'nın Organik Kuru Armutları

Sınırları Kullanarak Aralıkları İfade Etme

WHERE yan tümcesi, birden çok koşul kullanarak bir değer üzerinde bir aralık koşulu gerçekleştirmemize de olanak tanır. Örneğin, yukarıdaki sorgumuzu almak ve sonuçları 15: 00-20: 00 arasında olan ürünlere sınırlamak istiyorsak aşağıdaki sorguyu kullanabiliriz:

SELECT ProductName, UnitPrice ÜRÜNLERİMİZ WHERE BirimFiyat> 15.00 VE BirimFiyat <20.00

Bu, aşağıda gösterilen sonucu üretir:

ÜrünAdı BirimFiyatı ------- -------- Chai 18.00 Chang 19.00

ARASINDAKİ İFADE YÖNTEMLERİ

SQL ayrıca, dahil etmemiz gereken koşulların sayısını azaltan ve sorguyu daha okunabilir kılan BETWEEN sözdizimi sağlar. Örneğin, yukarıdaki iki WHERE koşulunu kullanmak yerine, aynı sorguyu şöyle ifade edebiliriz:

SELECT ProductName, UnitPrice ÜRÜNLERİMİZ 15,00 VE 20.00 ARALIĞI

Diğer koşullarımızdaki gibi, BETWEEN dize değerleri ile de çalışır. V, W veya X ile başlayan tüm ülkelerin bir listesini üretmek istiyorsak, sorguyu kullanabiliriz:

"A" ve "D" ARASINDA YER ALAN ÜRÜNLERDEN ÜRÜN ÜNİTESİNİ SEÇİN

Hangi sonucu üretir:

ProductName ------- Anasonlu Şurup Chai Chang Şefi Anton'un Gumbo Mix Şefi Anton'un Cajun Baharatı

WHERE yan tümcesi, sonuçları belirtilen aralıklara düşen değerlerle sınırlamanıza olanak veren SQL dilinin güçlü bir parçasıdır. İş mantığının ifade edilmesine yardımcı olmak için yaygın olarak kullanılır ve her veritabanı profesyonelinin araç setinin bir parçası olmalıdır.

SQL bilgisine sahip olmayanların erişilebilir olmasını sağlamak için, saklı bir yordamın içine ortak cümleleri dahil etmek genellikle yararlıdır.