ការជ្រើសទិន្នន័យនៅក្នុងជួរក្នុង SQL

ការណែនាំឃ្លាដែល WHERE និង BETWEEN លក្ខខណ្ឌ

ភាសាសំណួររចនាសម្ព័ន្ធ (SQL) ផ្តល់ឱ្យអ្នកប្រើមូលដ្ឋានទិន្នន័យនូវសមត្ថភាពក្នុងការបង្កើតសំណួរផ្ទាល់ខ្លួនដើម្បីទាញយកព័ត៌មានពីមូលដ្ឋានទិន្នន័យ។ នៅក្នុងអត្ថបទមុនយើងបាន ទាញយកព័ត៌មានពីមូលដ្ឋានទិន្នន័យដោយប្រើសំណួរ SQL SELECT ។ សូមពង្រីកការពិភាក្សានោះនិងស្វែងយល់ពីរបៀបដែលអ្នកអាចអនុវត្ត សំណួរ កម្រិតខ្ពស់ដើម្បីទាញយកទិន្នន័យដែលត្រូវនឹងលក្ខខណ្ឌជាក់លាក់។

ចូរយើងពិចារណាឧទាហរណ៏មួយដោយផ្អែកលើមូលដ្ឋានទិន្នន័យ Northwind ដែលត្រូវបានប្រើជាទូទៅដែលជាញឹកញាប់ដឹកទំនិញជាមួយផលិតផលមូលដ្ឋានទិន្នន័យជាការបង្រៀន។

នេះជាសម្រង់ពីតារាងផលិតផលរបស់ឃ្លាំងទិន្នន័យ:

តារាងផលិតផល
ផលិតផល ID ឈ្មោះ​ផលិតផល អ្នកផ្គត់ផ្គង់ QuantityPerUnit តម្លៃ​ឯកតា UnitsInStock
1 ឆៃ 1 10 ប្រអប់ x 20 កាបូប 18.00 39
2 Chang 1 24 ដប - 12 ដប 19.00 17
3 ទឹកសុដន់ Aniseed 1 12 - ដប 550 មីលីលីត្រ 10.00 13
4 ចុងភៅរបស់លោក Anton បាន Cajun 2 48 - 6 ពាងអូ 22.00 53
5 មេចុងភៅ Gumbo របស់លោក Anton 2 36 ប្រអប់ 21.35 0
6 ការរីករាលដាល Boysenberry របស់ជីដូន 3 12 - 8 ពាងអូហ្ស៊ី 25.00 120
7 ផ្លែប៉ោមស្ងួតសរីរាង្គរបស់លោក Bob 3 12 - lb pkgs ។ 30,00 15

លក្ខខណ្ឌព្រំដែនដ៏សាមញ្ញ

ការរឹតត្បិតជាលើកដំបូងដែលយើងនឹងដាក់នៅលើសំណួររបស់យើងទាក់ទងនឹងលក្ខខណ្ឌព្រំដែនធម្មតា។ យើងអាចបញ្ជាក់ទាំងនេះនៅក្នុងឃ្លា WHERE នៃសំណួរ SELECT ដោយប្រើសេចក្តីថ្លែងលក្ខខណ្ឌសាមញ្ញដែលបានបង្កើតជាមួយប្រតិបត្តិករស្តង់ដាដូចជា <,>,> = និង <= ។


ដំបូងសូមសាកល្បងសំណួរសាមញ្ញមួយដែលអនុញ្ញាតឱ្យយើងទាញយកបញ្ជីផលិតផលទាំងអស់នៅក្នុងឃ្លាំងទិន្នន័យដែលមាន Unit តំលៃជាង 20.00:

ជ្រើសរើសផលិតផលឈ្មោះអង្គភាពពីតំឡើងផលិតផលកន្លែងណាតំលៃ> 20.00

នេះបង្កើតនូវបញ្ជីផលិតផលចំនួន 4 ដូចមានបង្ហាញខាងក្រោម:

ProductName Unit តំលៃ ------- ---- មេផ្សំ Gumbo របស់មេចុងភៅ Anton's 21.35 មេចុងភៅ Anton's Cajun 22.00 បងប្រុសរបស់ Boysenberry រីករាលដាល 25.00 ពូស្ងួតសរីរាង្គផ្សិតរបស់លោក Bob 30.00

យើងក៏អាចប្រើឃ្លា WHERE ជាមួយតម្លៃខ្សែអក្សរ។ នេះសមមូលតួអង្គទៅជាលេខដែលតំណាងឱ្យតម្លៃ 1 និង Z តំណាងឱ្យតម្លៃ 26 ។ ឧទាហរណ៍យើងអាចបង្ហាញផលិតផលទាំងអស់ដែលមានឈ្មោះចាប់ផ្ដើមដោយ U, V, W, X, Y ឬ Z ដោយប្រើសំណួរខាងក្រោម:

ជ្រើសរើសផលិតផលពីផលិតផល WHERE ផលិតផល> = 'T'

ដែលផលិតលទ្ធផល:

ឈ្មោះផលិតផល ------- ម្សៅស្ងួតសរីរាង្គរបស់ពូលោក Bob

បង្ហាញជួរដោយប្រើព្រំដែន

ឃ្លា WHERE ក៏អនុញ្ញាតឱ្យយើងអនុវត្តលក្ខខណ្ឌជួរលើតម្លៃដោយប្រើលក្ខខណ្ឌច្រើន។ ឧទាហរណ៍ប្រសិនបើយើងចង់យកសំណួររបស់យើងខាងលើហើយកំណត់លទ្ធផលទៅផលិតផលដែលមានតម្លៃចន្លោះពី 15.00 ដល់ 20.00 យើងអាចប្រើសំណួរដូចខាងក្រោម:

ជ្រើសរើសផលិតផលឈ្មោះអង្គភាពពីផលិតផលផលិតផលពីកន្លែងណាតំលៃតំលៃ> 15.00 និងអង្គភាពតំលៃ <20.00

នេះបង្កើតលទ្ធផលដូចខាងក្រោម:

ផលិតផលឈ្មោះផលិតផលតំលៃ ------- -------- ឆៃ 18.00 ចាង 19.00

បង្ហាញជួររវាង BETWEEN

SQL ក៏ផ្តល់នូវផ្លូវកាត់ BETWEEN syntax ដែលជួយកាត់បន្ថយចំនួនលក្ខខណ្ឌដែលយើងត្រូវការដើម្បីបញ្ចូលនិងធ្វើឱ្យសំណួរកាន់តែអាចអានបាន។ ឧទាហរណ៏, ជំនួសឱ្យការប្រើលក្ខខណ្ឌពីរ WHERE ខាងលើ, យើងអាចបង្ហាញសំណួរដូចគ្នាដូចជា:

ជ្រើសរើសផលិតផលឈ្មោះអង្គភាពពីតំឡើងផលិតផលពីកន្លែងណាថ្លៃឈ្នួលភ្នាល់ចាប់ពី 15.00 និង 20.00

ដូចនឹងលក្ខខណ្ឌនៃលក្ខខណ្ឌផ្សេងទៀតរបស់យើង BETWEEN ធ្វើការជាមួយតម្លៃខ្សែអក្សរផងដែរ។ ប្រសិនបើយើងចង់បង្កើតបញ្ជីនៃប្រទេសទាំងអស់ដែលចាប់ផ្តើមជាមួយ V, W ឬ X យើងអាចប្រើសំណួរ:

ជ្រើសរើសផលិតផលផលិតផលពីផលិតផលនៅទីណាផលិតផលដែលមានចន្លោះ "A" និង "D"

ដែលផលិតលទ្ធផល:

ឈ្មោះផលិតផល ------- សុីរ៉ូសឺស៊ីសឆៃចាងមេចុងភៅមេចុងភៅហ្គូមូបរបស់អាន់ធុន

ឃ្លា WHERE គឺជាផ្នែកមួយដ៏មានឥទ្ធិពលនៃភាសា SQL ដែលអនុញ្ញាតឱ្យអ្នកដាក់កម្រិតលទ្ធផលទៅតម្លៃដែលធ្លាក់នៅក្នុងជួរដែលបានបញ្ជាក់។ វាត្រូវបានគេប្រើជាទូទៅដើម្បីជួយបង្ហាញពីតក្កវិជ្ជាធុរកិច្ចនិងគួរជាផ្នែកមួយនៃប្រអប់ឧបករណ៍វិជ្ជាជីវៈនៃមូលដ្ឋានទិន្នន័យទាំងអស់។

ជាញឹកញាប់វាមានប្រយោជន៍ក្នុងការរួមបញ្ចូលឃ្លាជាទូទៅចូលទៅក្នុង នីតិវិធីរក្សាទុក ដើម្បីឱ្យវាអាចចូលដំណើរការបានសម្រាប់អ្នកដែលមិនមានចំនេះដឹង SQL ។