WHERE-ийн заалт болон BETWEEN нөхцөлийг танилцуулна
Structured Query Language (SQL) нь өгөгдлийн сангаас мэдээлэл авахын тулд өөрчилсөн хүсэлтийг үүсгэх чадвартай өгөгдлийн сангийн хэрэглэгчдийг хангадаг. Өмнөх өгүүллээр бид SQL SELECT хайлт ашиглан мэдээллийн баазаас мэдээлэл хайж хайх оролдлоо . Тэрхүү хэлэлцүүлэгт өргөжиж, нарийвчилсан асуултуудыг хэрхэн гүйцэтгэх талаар тодорхой нөхцөлүүдийг олж авахын тулд хайж үзье.
Жишээ нь Northwind мэдээллийн баазад ашиглагддаг мэдээллийн бааз дээр тулгуурлан жишээ авъя.
Энд мэдээллийн баазын Бүтээгдэхүүний хүснэгтээс иш татсан байна:
ProductID | Бүтээгдэхүүний нэр | Нийлүүлэгчид | Тоо хэмжээPerUnit | Нэгжийн үнэ | UnitsInStock |
---|---|---|---|---|---|
1 | Чай | 1 | 10 хайрцаг х 20 уут | 18.00 | 39 |
2 | Chang | 1 | 24 - 12 унц лонх | 19.00 | 17 |
3 | Aniseed Syrup | 1 | 12 - 550 мл лонх | 10.00 | 13 |
4 | Chef Anton's Cajun амтлагч | 2 | 48 - 6 унци лонхтой | 22.00 | 53 |
5 | Chef Anton's Gumbo Mix | 2 | 36 хайрцаг | 21.35 | 0 |
6 | Эмээ нь Boysenberry Spread | 3 | 12 - 8 унц лонхтой | 25.00 | 120 |
7 | Авга ах Бобын Органик Хатаасан лийз | 3 | 12 - 1 lb pkgs. | 30.00 | 15 |
Энгийн хилийн нөхцөл
Бидний хүсэлтээр тавьсан эхний хязгаарлалтууд нь энгийн хил хязгаарыг агуулдаг. Үүнд: <,>,> =, ба <= гэх мэт стандарт операторуудтай энгийн нөхцлөөр хийсэн мэдэгдэл ашиглан SELECT хайлтын WHERE-ийн заалтад эдгээрийг зааж өгч болно.
Нэгдүгээрт, бид 20.00 цагаас UnitPrice гэсэн өгөгдлийн сангийн бүх бүтээгдэхүүний жагсаалтыг гаргах боломжтой энгийн хайлтыг үзье.
Энэ нь дараах 4 бүтээгдэхүүний жагсаалтыг гаргадаг:
ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun амтлагч 22.00 Эмээ нь Boysenberry Spread 25.00 Авга ах Bob Органик Хатаасан Лийр 30.00Мөн бид WHERE-ийг мөрийн утгыг ашиглаж болно. Энэ нь үндсэндээ 1 ба Z гэсэн утгыг төлөөлөх А тэмдэгттэй адил тоонуудтай тэнцүү байна. Жишээлбэл, дараах зүйл бүхий U, V, W, X, Y, Z-ээр эхэлсэн нэртэй бүх бүтээгдэхүүнийг бид дараах байдлаар харуулж болно:
Бүтээгдэхүүний нэр SELECT FROM бүтээгдэхүүн WHERE ProductName> = 'T'Үр дүнг гаргадаг:
ProductName ------- Авга ах Bob Органик Хатаасан ЛийХилийн хязгаарыг ашиглан хязгаарласан мужийг илэрхийлнэ
WHERE-ийн заалт нь олон нөхцөлийг ашиглан үнэ цэнийн нөхцлийг хэрэгжүүлэх боломжийг олгодог. Жишээ нь хэрэв бид дээрх асуултыг асууж, үр дүнг 15.00-20.00 хооронд үнэтэй бүтээгдэхүүнээр хязгаарлахыг хүсвэл бид дараахь асуултыг ашиглаж болно:
SELECT ProductName, UnitPrice FROM WHERE unitProcs> 15.00 AND UnitPrice <20.00Энэ нь доор үзүүлсэн үр дүнг гаргадаг:
ProductName UnitPrice ------- -------- Чай 18.00 Chang 19.00ХЭРЭГЛЭХ БАЙГУУЛЛАГА
SQL нь бидний оруулах шаардлагатай нөхцөлүүдийн тоог багасгаж BETWEEN синтакс үүсгэдэг бөгөөд хайлтыг илүү уншигдах боломжтой болгодог. Жишээлбэл, ДЭМБ-ын хоёр нөхцөлийг ашиглахын оронд бид дараахь асуултыг адил илэрхийлж болно:
SELECT ProductName, UnitPrice FROM products WHERE UnitPrice FROM 15.00 AND 20.00Бидний бусад нөхцлүүдийн нэгэн адил БАРИМТа нь мөрийн утгатай ажилладаг. Хэрэв бид В, W, эсвэл X-ээс эхлэн бүх улсуудын жагсаалтыг гаргахыг хүсвэл бид дараах асуултыг ашиглаж болно:
Бүтээгдэхүүний нэр SELECT FROM бүтээгдэхүүн WHERE Бүтээгдэхүүний нэр "А", "D"Үр дүнг гаргадаг:
Бүтээгдэхүүний нэр ------- Aniseed Syrup Чай Чан тогооч Антоний Gumbo Mix Chef Антоний Cajun амтлагчWHERE хэсэг нь тодорхой хэлбэлзэлтэй утгуудаар үр дүнг хязгаарлах боломжийг олгодог SQL хэлийн хүчирхэг хэсэг юм. Бизнесийн логикийг илэрхийлэхэд туслахын тулд энэ нь ихэвчлэн ашиглагддаг бөгөөд мэдээллийн баазын мэргэжлийн багаж хэрэгслийн хэсэг байх ёстой.
Энэ нь нийтлэг заалтыг SQL-ийн мэдлэггүй хүмүүст хүртээмжтэй болгох зорилгоор хадгалагдсан журманд оруулахад ихэвчлэн тустай байдаг.