Ma'lumotlar oralig'ida SQLda ma'lumotlarni tanlash

WHERE bandi va BETWEEN holatini tanishtirish

Strukturalangan so'rovlar tili (SQL) ma'lumotlar bazasidan ma'lumotlar olish uchun tayyorlangan so'rovlarni yaratishga qodir. Oldingi maqolada SQL SELECT so'rovlarini ishlatib ma'lumotlar bazasidan ma'lumotlarni olishni o'rganib oldik. Ushbu muhokamani kengaytirishga va muayyan shartlarga mos keladigan ma'lumotni olish uchun ilg'or so'rovlarni qanday amalga oshirish mumkinligini o'rganib chiqamiz.

Keling, tez-tez bazaviy mahsulotlar bilan darslik sifatida foydalanadigan Northwind keng tarqalgan ma'lumotlar bazasiga asoslangan misolni ko'rib chiqaylik.

Ma'lumotlar bazasi mahsulotining jadvalidan olingan parchadir:

Mahsulotlar jadvali
ProductID Mahsulot nomi Yetkazib beruvchilardan Miqdori Donasining narxi UnitsInStock
1 Chay 1 10 ta x x 20 ta sumka 18.00 39
2 Chang 1 24 - 12 oz butilkalar 19.00 17
3 Anisid siropi 1 12 - 550 ml butilkalar 10.00 13
4 Chef Antonning kajun mevasi 2 48 - 6 oz kavanoz 22.00 53
5 Chef Anton Gumbo Mix 2 36 ta quti 21.35 0
6 Büyükanne'nin Boysenberry Spread 3 12 - 8 oz kavanoz 25.00 120
7 Bobning organik kurutilgan armuti amaki 3 12 - 1 lb pkgs. 30.00 15

Oddiy chegara shartlari

Bizning so'rovimizda birinchi cheklovlar oddiy chegara shartlarini o'z ichiga oladi. Buni <,>,> =, va <= kabi standart operatorlar bilan tuzilgan oddiy vaziyat bayonotlarini foydalanib, SELECT so'rovining WHERE punktida aniqlab olishimiz mumkin.


Birinchidan, oddiy bir so'rovni ko'rib chiqaylik, bu esa ma'lumotlar bazasida 20.00 dan ko'p BirligiPriziga ega bo'lgan barcha mahsulotlar ro'yxatini chiqarish imkonini beradi:

MahsulotName ni tanlang, UNITBULOM mahsulotlaridan qaysi joyda BirligiPriz> 20.00

Bu quyida keltirilgan to'rtta mahsulotning ro'yxatini ishlab chiqaradi:

ProductName BirlikHarbiy narx ------- -------- Chef Antonning Gumbo Mix 21.35 Chef Antonning Kajun Tuxumlari 22.00 Tulamaning Tuxum Yalpi Yaylovi 25.00 Bobning Uncle Organik Quritdiği Armut 30.00

WHERE so'zini string qiymatlari bilan ham ishlatishimiz mumkin. Bu asosan belgilarni sonlarga tenglashtiradi, A qiymati va 26 qiymatini ifodalovchi A qiymati bilan teng. Masalan, barcha mahsulotlarni quyidagi so'rovlar bilan boshlangan U, V, W, X, Y yoki Z bilan boshlangan ismlar bilan ko'rsatishimiz mumkin:

Mahsulotni tanlang PRODUCTS WHERE ProductName> = 'T'

Natija keltiradigan natijalar:

ProductName ------- Bobning amaki ammiak quritilgan olmalari

Chegaralar yordamida intervallarni ifodalash

WHERE punkti bizga bir nechta shartlarni qo'llagan holda qiymati bo'yicha oraliq shartni bajarishga imkon beradi. Misol uchun, agar biz yuqorida so'rovni olishni istasak va natijalarni 15.00 dan 20.00 gacha bo'lgan mahsulotlarga cheklab qo'ysak, quyidagi so'rovni ishlatishimiz mumkin:

MahsulotName, UNITBULOM mahsulotlaridan tanlang WHERE birlikPriz> 15.00 va UNITPrice <20.00

Bu quyida keltirilgan natijani beradi:

ProductName birlikPrice ------- -------- Chai 18.00 Chang 19.00

BETWEEN bilan intervalni ifodalash

SQL shuningdek, biz kiritishni talab qiladigan shartlar sonini kamaytiradigan BETWEEN sintaksisini ham beradi va so'rovni yanada o'qiydi. Misol uchun, yuqoridagi ikkita WHERE shartlarini ishlatish o'rniga, biz quyidagi so'rovni quyidagicha ifodalashimiz mumkin:

MahsulotName, UNITBULOM mahsulotlarini tanlang WHERE BirligiPr. 15.00 va 20.00 oralig'ida narx

Boshqa shart-sharoitlarimizda bo'lgani kabi, BETWEEN ham string qiymatlari bilan ishlaydi. V, V yoki X bilan boshlangan barcha mamlakatlar ro'yxatini ishlab chiqmoqchi bo'lsak, so'rovdan foydalanishimiz mumkin:

Mahsulotni tanlang Mahsulotlardan Qaerda Mahsulot nomi "A" va "D"

Natija keltiradigan natijalar:

Mahsulot nomi ------- Anisid siropi Chai Chang Chef Antonning gumbo aralashmasi Chef Antonning kajun mevasi

WHERE punkti siz natijalarni belgilangan oraliqlarga to'g'ri keladigan qiymatlarga cheklash imkonini beradigan SQL tilining kuchli qismi hisoblanadi. Ko'pincha biznes mantig'ini ifoda etishga yordam beradi va har bir ma'lumotlar bazasi professionalining asbob-uskunalarining bir qismi bo'lishi kerak.

SQL bilimi bo'lmagan foydalanuvchilar uchun qulay bo'lgan holga keltirish uchun umumiy qoidalarni o'zida saqlab turiladigan usulga qo'shib qo'yish odatda foydalidir.