កុំព្យូទ័រ, ការសរសេរកម្មវិធី
រវាង SQL: ឧទាហរណ៍ការពិពណ៌នា
នៅពេលធ្វើការជាមួយ DBMSs ទំនាក់ទំនងដែលទិន្នន័យត្រូវបានរក្សាទុកក្នុងសំណុំបែបបទតារាងអ្នកប្រើប្រាស់តែងតែប្រឈមមុខនឹងភារកិច្ចនៃតម្លៃគំរូដែលបញ្ចូល (មិនរាប់បញ្ចូល) នៅក្នុងជួរជាក់លាក់។ ភាសា SQL អនុញ្ញាតឱ្យអ្នកបញ្ជាក់ពីសំណុំដែលតម្លៃមិនគួរជាកម្មសិទ្ធិរបស់វ៉ារ្យ៉ង់ផ្សេងៗគ្នា - នៅក្នុងសេចក្តីថ្លែងការណ៍សេចក្តីថ្លែងការណ៍ដូចសេចក្តីសង្ខេបការរួមបញ្ចូលគ្នានៃលក្ខខណ្ឌគឺតិចតួចហើយក៏ជាសញ្ញាប្រមាណវិធី SQL ផងដែរ។ សេចក្ដីពិពណ៌នានិងឧទាហរណ៍នៅក្នុងអត្ថបទនេះនឹងត្រូវបានគេឧទ្ទិសដល់ជម្រើសចុងក្រោយ។
សញ្ញា "រវាង" ក្នុង SQL: វាក្យសម្ពន្ធ, ឧបសគ្គ
ប្រតិបត្តិកររវាង SQL គឺមានន័យថា "ចន្លោះ" ។ ការប្រើរបស់វាអនុញ្ញាតឱ្យអ្នកកំណត់ការដាក់កម្រិតពី "To និង To" ទៅវាលជាក់លាក់ហើយប្រសិនបើតម្លៃបន្ទាប់ចូលក្នុងជួរនោះតួព្យាង្គនឹង "ពិត" ហើយតម្លៃនឹងបញ្ចប់នៅក្នុងជម្រើសចុងក្រោយ។
វាក្យសម្ព័ន្ធនៃប្រតិបត្តិករគឺសាមញ្ញណាស់:
ជ្រើសរើស * ពីតារាង t1 ដែល t1.n រវាង 0 និង 7 |
ដូចដែលអ្នកអាចមើលឃើញបន្ទាប់ពីពាក្យគន្លឹះរវាងវាចាំបាច់ដើម្បីបញ្ជាក់តម្លៃនៃស៊ុមទាបនៃជួរបន្ទាប់មក AND និងតម្លៃនៃព្រំដែនខាងលើ។
ចូររាយប្រភេទទិន្នន័យដែលប្រតិបត្តិករ SQL អាចធ្វើការជាមួយ:
- ជាមួយលេខ - ចំនួនគត់និងប្រភាគ។
- ជាមួយកាលបរិច្ឆេទ។
- ជាមួយអត្ថបទ។
ប្រតិបត្តិករដែលបានផ្តល់ឱ្យរវាង SQL មានលក្ខណៈពិសេសមួយចំនួន។ ចូរស្វែងយល់ជាមួយពួកគេ:
- នៅពេលធ្វើការជាមួយលេខនិងកាលបរិច្ឆេទតម្លៃនៃឧបសគ្គ "ពីនិងទៅ" ត្រូវបានបញ្ចូលក្នុងគំរូ។
- តម្លៃនៃស៊ុមទាបនៃជួរគួរតែតិចជាងតម្លៃនៃខ័ណ្ឌខាងលើបើមិនដូច្នេះទេគ្មានអ្វីនឹងត្រូវបង្ហាញទេព្រោះលក្ខខណ្ឌគឺឡូជីខលមិនពិត។ ការថែទាំពិសេសត្រូវយកមកនៅពេលដែលអថេរត្រូវបានដាក់បញ្ចូលក្នុងលក្ខខណ្ឌជំនួសតម្លៃជាក់លាក់។
នៅពេលធ្វើការជាមួយអត្ថបទតម្លៃនៃព្រំដែនខាងលើនៃជួរនឹងមិនត្រូវបានបញ្ចូលក្នុងជម្រើសទេលុះត្រាតែវាត្រូវបានបញ្ជាក់ដោយភាពត្រឹមត្រូវបំផុត។ នៅក្នុងផ្នែកដូចខាងក្រោមយើងនឹងពិចារណាលក្ខណៈពិសេសនេះបន្ថែមទៀត។
ការជ្រើសរើសលេខនិងកាលបរិច្ឆេទនៅក្នុងជួរជាក់លាក់
រៀបចំតារាងជាមួយទិន្នន័យស្តីពីអ្នកគ្រប់គ្រងដែលធ្វើការនៅក្នុងអង្គការ។ តារាងនេះនឹងមានរចនាសម្ព័ន្ធដូចខាងក្រោម:
ឈ្មោះវាល | ប្រភេទទិន្នន័យ | ការពិពណ៌នា |
កូដ | រាប់ | លេខសម្គាល់បុគ្គលិកឯកសណ្ឋាន |
នាមត្រកូល | អត្ថបទ | ឈ្មោះនិយោជិក |
ឈ្មោះ | អត្ថបទ | ឈ្មោះបុគ្គលិក |
នាមកណ្តាល | អត្ថបទ | Patronymic នៃបុគ្គលិក |
ការរួមភេទ | អត្ថបទ | ការរួមភេទរវាងនិយោជិក (M / F) |
កាលបរិច្ឆេទតែង | កាលបរិច្ឆេទ / ពេលវេលា | កាលបរិច្ឆេទនៃការទទួលបុគ្គលិកសម្រាប់ការងារ |
ចំនួនកុមារ | លេខ | ចំនួនកុមារមកពីបុគ្គលិក |
បំពេញតារាងដែលមានទិន្នន័យដូចខាងក្រោម:
កូដ | នាមត្រកូល | ឈ្មោះ | នាមកណ្តាល | ការរួមភេទ | កាលបរិច្ឆេទតែង | ចំនួនកុមារ |
1 | Alexandrova | Irina | Nikolaevna | F | 05/01/2014 | 1 |
2 | Borovoy | Andrew | Stepanovich | M | 09/21/2013 | 0 |
3 | Vinogradov | Sergey | Pavlovich | M | 06/15/1998 | 1 |
4 | Shumilin | អាឡិចសាន់ | Borisovich | M | 25.12.2004 | 2 |
5 | Vishnyakov | Leonid | Alexandrovich | M | 09.10.2007 | 0 |
ទី 6 | Tropnikov | វ៉ាសីលី | Sergeevich | M | 01/12/2016 | 3 |
ទី 7 | ពេជ្រ | Nikita | Vasilevich | M | 01/11/2017 | 1 |
ថ្ងៃទី 8 | Avdeev | នីកា | Konstantinovna | F | 31.03.2001 | 2 |
ទី 9 | Yakovlev | Leonid | Nikolayevich | M | 16.02.2009 | 0 |
ចូរបង្កើត សំណួរ sql រវាងមួយដែលនឹងជួយយើងជ្រើសរើសបុគ្គលិកទាំងអស់ដែលមានកូន 2 ឬ 3 នាក់:
អ្នកគ្រប់គ្រង SELECT ។ * ពីអ្នកគ្រប់គ្រង ចំនួនអ្នកដែលមានអាយុចន្លោះពី 2 ទៅ 3 |
លទ្ធផលនឹងមានបីបន្ទាត់ជាមួយទិន្នន័យស្តីពីនិយោជិកដែលមានឈ្មោះថា Shumilin, Tropnikov និង Avdeeva ។
ឥឡូវនេះយើងនឹងជ្រើសរើសយកបុគ្គលិកដែលទទួលយកពីថ្ងៃទី 1 ខែមករាឆ្នាំ 2005 ដល់ថ្ងៃទី 31 ខែធ្នូឆ្នាំ 2016 ។ វាគួរតែត្រូវបានគេកត់សម្គាល់ឃើញថាខុសគ្នាពី DBMS ខុសគ្នាអនុញ្ញាតឱ្យអ្នកកត់ត្រាតាមលក្ខខណ្ឌនៃកាលបរិច្ឆេទ។ ក្នុងករណីភាគច្រើនកាលបរិច្ឆេទគ្រាន់តែជំរុញយ៉ាងខ្លាំងទៅទំរង់ជារៀងរាល់ខែខែ (ឬកាន់តែងាយស្រួល) និងត្រូវបានសរសេរនៅក្នុងសញ្ញាសម្រង់តែមួយឬពីរដង។ នៅក្នុង មូលដ្ឋានទិន្នន័យរបស់ MS Access កាលបរិច្ឆេទត្រូវបានបិទនៅក្នុងសញ្ញា "#" ។ យើងនឹងអនុវត្តឧទាហរណ៍មួយនៅលើមូលដ្ឋានរបស់ខ្លួន:
អ្នកគ្រប់គ្រង SELECT ។ *, អ្នកគ្រប់គ្រង។ កាលបរិច្ឆេទ - ទទួល ពីអ្នកគ្រប់គ្រង អ្នកគ្រប់គ្រងនៅទីណា។ កាលបរិច្ឆេទ _receive រវាង # 1/1/2005 # # 31/12/2016 # |
លទ្ធផលនឹងមានចំនួន 5 នាក់ដែលត្រូវបានជួលនៅកំឡុងពេលជាក់លាក់មួយរួមបញ្ចូល។
បន្ទាប់សូមមើលរបៀប SQL ធ្វើការជាមួយខ្សែអក្សរ។
ធ្វើការនៅចន្លោះបន្ទាត់
ភារកិច្ចជាញឹកញាប់ដែលត្រូវដោះស្រាយនៅពេលធ្វើការជាមួយឈ្មោះនិយោជិកគឺតម្រូវឱ្យជ្រើសរើសតែអ្នកដែលឈ្មោះចាប់ផ្តើមដោយអក្សរជាក់លាក់។ យើងក៏នឹងព្យាយាមបំពេញតាមការស្នើសុំនិងជ្រើសរើសបុគ្គលិកដែលមានឈ្មោះចាប់ផ្តើមដោយនាមត្រកូលពី A ទៅ B:
អ្នកគ្រប់គ្រង SELECT ។ * ពីអ្នកគ្រប់គ្រង ឈ្មោះអ្នកគ្រប់គ្រងដែលនៅចន្លោះ "A" និង "B" ការបញ្ជាទិញ 2 |
លទ្ធផលគឺដូចខាងក្រោម:
កូដ | នាមត្រកូល | ឈ្មោះ | នាមកណ្តាល | ការរួមភេទ | កាលបរិច្ឆេទទទួលភ្ញៀវ | ចំនួនកុមារ |
ថ្ងៃទី 8 | Avdeev | នីកា | Konstantinovna | F | 31.03.2001 | 2 |
1 | Alexandrova | Irina | Nikolaevna | F | 05/01/2014 | 1 |
2 | Borovoy | Andrew | Stepanovich | M | 09/21/2013 | 0 |
ដូចដែលអ្នកអាចឃើញនិយោជិតពីរនាក់ដែលមាននាមត្រកូលជាមួយអក្សរខមិនត្រូវបានបញ្ចូលនៅក្នុងបញ្ជីទេ។ តើអ្វីទៅជាហេតុផលសម្រាប់ការនេះ? ចំនុចនោះគឺថាប្រតិបត្តិករពិតជាប្រៀបធៀបបន្ទាត់ប្រវែងមិនស្មើគ្នា។ បន្ទាត់ "B" គឺខ្លីជាងបន្ទាត់ "Vinohrad" ហើយត្រូវបានបញ្ចប់ដោយដកឃ្លា។ ប៉ុន្តែនៅពេលដែលតម្រៀបតាមលំដាប់តួអក្សរចន្លោះនឹងជានិមិត្តសញ្ញានាំមុខហើយឈ្មោះនឹងមិនត្រូវបានបញ្ចូលក្នុងគំរូទេ។ DBMS ខុសៗគ្នាផ្តល់នូវដំណោះស្រាយខុសៗគ្នាចំពោះបញ្ហានេះប៉ុន្តែវាងាយស្រួលក្នុងការចង្អុលបង្ហាញអក្សរខាងក្រោមនៃអក្ខរក្រមក្នុងជួរ:
អ្នកគ្រប់គ្រង SELECT ។ * ពីអ្នកគ្រប់គ្រង ឈ្មោះអ្នកគ្រប់គ្រងដែលមានឈ្មោះថា "A" និង "G" ការបញ្ជាទិញ 2 |
ពេលសំណួរត្រូវបានប្រតិបត្តិលទ្ធផលនឹងបំពេញយើងទាំងស្រុង។
ភាពខុសប្លែកនេះកើតឡើងនៅពេលធ្វើការជាមួយទិន្នន័យតួអក្សរប៉ុន្តែវាបង្ហាញថានៅពេលធ្វើការជាមួយសូម្បីតែអ្នកដើរតេរធម្មតាដូចជារវាងអ្នកត្រូវប្រុងប្រយ័ត្ន។
Similar articles
Trending Now