Өгөгдөл дотор SQL дэхь доторхи утгыг сонгох

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 гэсэн өгөгдлийн сангийн бүх бүтээгдэхүүний жагсаалтыг гаргах боломжтой энгийн хайлтыг үзье.

SELECT ProductName, UnitPrice FROM WHERE бүтээгдэхүүний нэгжүүд 20.00

Энэ нь дараах 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-ийн мэдлэггүй хүмүүст хүртээмжтэй болгох зорилгоор хадгалагдсан журманд оруулахад ихэвчлэн тустай байдаг.