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ı:
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:
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.00WHERE 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.00Aşağıda göstərilən nəticəni verir:
ProductName UnitPrice ------- -------- Chai 18.00 Chang 19.00BETWEEN 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ındaDigə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.