SQL içərisində məlumatların seçilməsi

WHERE bəndini və BETWEEN şərtini təqdim edin

Strukturlaşdırılmış Sorgu dili (SQL) veritabanlarından məlumat çıxarmaq üçün xüsusi sorgular yaratmaq imkanı ilə verilənlər bazası istifadəçilərini təmin edir. Daha əvvəlki bir yazıda SQL SELECT sorgularını istifadə edərək məlumat bazasından məlumat çıxarılmasını araşdırdım. Bu müzakirə üzərində genişlənək və müəyyən şərtlərə uyğun olan məlumatları almaq üçün inkişaf etmiş sorgularla necə məşğul ola bilərsiniz.

Tez-tez verilənlər bazası məhsulları ilə təlimatçı kimi istifadə olunan yayılmış Northwind verilənlər bazasına əsaslanan nümunəni nəzərdən keçirək.

Verilənlər bazasının Məhsul cədvəlindən bir alındı:

Məhsul Cədvəli
ProductID ProductName Təchizatçı QuantityPerUnit Vahid qiymət UnitsInStock
1 Chai 1 10 qutu x 20 çanta 18.00 39
2 Chang 1 24 - 12 oz şüşə 19.00 17
3 Anisid siropu 1 12 - 550 ml şüşə 10.00 13
4 Şef Antonın Cajun Dekorasiyası 2 48 - 6 oz kavanoz 22.00 53
5 Chef Anton'un Gumbo Mix 2 36 qutu 21.35 0
6 Büyükanne'nın Boysenberry Spread 3 12 - 8 oz kavanoz 25.00 120
7 Uncle Bob'un Üzvi Qurudulmuş Armudları 3 12 - 1 lb pkgs. 30.00 15

Sadə Sərhəd Şərtləri

Sorgumuza qoyacağımız ilk məhdudiyyətlər sadə sərhəd şərtlərindən ibarətdir. Bu, <,>,> =, və <= kimi standart operatorlar tərəfindən hazırlanmış sadə ifadələrdən istifadə edərək SELECT sorgunun WHERE bəndində göstərə bilərik.


Birincisi, 20.00-dən çox bir UnitPrice olan verilənlər bazasında bütün məhsulların siyahısını çıxarış etməyə imkan verən sadə bir sorguya nəzər salaq:

SEÇİM ProductName, UnitPrice FROM məhsulları WHERE Birim Qiymət> 20.00

Aşağıda göstərildiyi kimi, bu, dörd məhsulun siyahısını hazırlayır:

ProductName UnitPrice ------- -------- Chef Anton'un Gumbo Mix 21.35 Chef Anton'un Cajun Dekorasyonu 22.00 Büyükanne'nın Boysenberry Spread 25.00 Uncle Bob'un Organik Kuru Armud 30.00

WHERE bəndini simli dəyərlərlə də istifadə edə bilərik. Bu, əsasən rəqəmləri rəqəmlərə bərabərləşdirir, A dəyəri 1 və Z təmsil edən 26 dəyərini təmsil edir. Məsələn, bütün məhsulları aşağıdakı sorğu ilə başlayan U, V, W, X, Y və ya Z ilə başlayan adlarla göstərə bilərik:

SEÇİM ProductName FROM products WHERE ProductName> = 'T'

Nəticəni çıxaran nəticələr:

ProductName ------- Uncle Bob'un Üzvi Qurudulmuş Armudları

Boundaries istifadə Ranges ifadə

WHERE bəndində də bizə birdən çox şəraitdən istifadə edərək bir sıra şərtlər tətbiq etməyə imkan verir. Məsələn, yuxarıdakı sorgularımızı almaq və nəticələri 15: 00-20: 00 arasında olan məhsullara məhdudlaşdırmaq istəyiriksə, aşağıdakı sorguyu istifadə edə bilərik:

SEÇİM ProductName, UnitPrice FROM məhsulları WHERE Birim Qiymət> 15.00 AND UnitPrice <20.00

Aşağıda göstərilən nəticəni verir:

ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00

BETWEEN ilə aralıkları bildirir

SQL həmçinin əlavə etmək üçün lazım olan şərtlərin sayını azaldacaq və sorguyu daha oxunaqlı edir. Məsələn, yuxarıda iki WHERE şərtindən istifadə etmək əvəzinə, eyni sorguyu aşağıdakı kimi ifadə edə bilərik:

SEÇƏK ProductName, UnitPrice FROM products WHERE Unit Qiymət 15.00 və 20.00 arasında

Digər şərtlərimizdəki kimi, BETWEEN simli dəyərlərlə də işləyir. V, W və ya X ilə başlayan bütün ölkələrin siyahısını tərtib etmək istəyiriksə, sorğudan istifadə edə bilərik:

"SEÇİLDİ" Məhsulun adı məhsullardan "məhsul" adı "A" və "D"

Nəticəni çıxaran nəticələr:

ProductName ------- Aniseed Syrup Chai Chang Chef Anton'un Gumbo Mix Şefi Anton Cajun Mövsümü

WHERE bəndində göstərilən aralıklara düşən dəyərlərə nəticələrin məhdudlaşmasına imkan verən SQL dilinin güclü bir hissəsidir. Çox yaygın olaraq iş mantığını ifade etmenize yardım olmaq üçün istifadə olunur və hər bir verilənlər bazası professionalının toolkitinin bir hissəsi olmalıdır.

SQL məlumatları olmayanlara əlçatan olmaq üçün ümumi qaydaları saxlanılan bir prosedura daxil etmək çox vaxt faydalıdır.