ການແນະນໍາເງື່ອນໄຂທີ່ WHERE ແລະເງື່ອນໄຂທີ່ໄດ້ຮັບຜົນປະໂຫຍດ
ພາສາຄໍາຖາມ Structured Query (SQL) ໃຫ້ຜູ້ໃຊ້ຖານຂໍ້ມູນມີຄວາມສາມາດໃນການສ້າງການສອບຖາມທີ່ຖືກຕ້ອງເພື່ອແຍກຂໍ້ມູນຈາກຖານຂໍ້ມູນ. ໃນບົດຂຽນກ່ອນຫນ້ານີ້, ພວກເຮົາໄດ້ຄົ້ນຄວ້າ ຂໍ້ມູນຈາກຖານຂໍ້ມູນໂດຍໃຊ້ SQL SELECT . ໃຫ້ຂະຫຍາຍອອກໄປໃນການສົນທະນານັ້ນແລະສໍາຫຼວດວິທີທີ່ທ່ານສາມາດດໍາເນີນການ ສອບຖາມ ແບບພິເສດເພື່ອດຶງຂໍ້ມູນທີ່ກົງກັບເງື່ອນໄຂສະເພາະ.
ໃຫ້ພິຈາລະນາຕົວຢ່າງທີ່ອີງໃສ່ຖານຂໍ້ມູນ Northwind ທີ່ນໍາໃຊ້ທົ່ວໄປ, ເຊິ່ງມັກຈະຖືກສົ່ງກັບຜະລິດຕະພັນຖານຂໍ້ມູນເປັນການສອນ.
ນີ້ແມ່ນຄໍາອະທິບາຍຈາກຕາຕະລາງຜະລິດຕະພັນຂອງຖານຂໍ້ມູນ:
ProductID | ຊື່ຜະລິດຕະພັນ | SupplierID | QuantityPerUnit | ລາຄາຕໍ່ຫນ່ວຍ | UnitsInStock |
---|---|---|---|---|---|
1 | Chai | 1 | 10 ກ່ອງ x 20 ຖົງ | 1800 | 39 |
2 | ການປ່ຽນແປງ | 1 | ຕົ້ມ 24 - 12 oz | 1900 | 17 |
3 | Aniseed Syrup | 1 | 12 - 550 ml ຂວດ | 1000 | 13 |
4 | Chef Anton's Cajun Seasoning | 2 | 48-6 oz jars | 2200 | 53 |
5 | Chef Anton's Gumbo Mix | 2 | 36 ກ່ອງ | 2135 | 0 |
6 | Grandma's Boysenberry Spread | 3 | 12-8 oz jars | 2500 | 120 |
7 | ຜັກຕົ້ມແຫ້ງອິນຊີຂອງລຸງບ໊ອບ | 3 | 12-1 lb pkgs | 3000 | 15 |
ເງື່ອນໄຂຊາຍແດນງ່າຍດາຍ
ຂໍ້ຈໍາກັດຄັ້ງທໍາອິດທີ່ພວກເຮົາຈະເອົາໃຈໃສ່ໃນການສອບຖາມຂອງພວກເຮົາມີເງື່ອນໄຂກ່ຽວກັບຂອບເຂດຊາຍແດນງ່າຍດາຍ ພວກເຮົາສາມາດກໍານົດເຫຼົ່ານີ້ໃນຂໍ້ກໍານົດຂອງ WHERE ຂອງ query SELECT, ໂດຍນໍາໃຊ້ຂໍ້ກໍານົດເງື່ອນໄຂທີ່ງ່າຍດາຍທີ່ສ້າງຂື້ນກັບຜູ້ປະຕິບັດມາດຕະຖານ, ເຊັ່ນ <,>,> = ແລະ <=.
ທໍາອິດໃຫ້ລອງແບບສອບຖາມທີ່ງ່າຍດາຍທີ່ສາມາດສະກັດລາຍະການຂອງຜະລິດຕະພັນທັງຫມົດໃນຖານຂໍ້ມູນທີ່ມີ UnitPrice ຂອງຫຼາຍກວ່າ 20.00:
ນີ້ຜະລິດບັນຊີລາຍຊື່ຂອງສີ່ຜະລິດຕະພັນດັ່ງລຸ່ມນີ້:
ProductName UnitPrice ------- -------- Chef Anton's Gumbo Mix 21.35 Chef Anton's Cajun Seasoning 22.00 Grandma's Boysenberry Spread 25.00 Uncle Bob's Organic Pears 30.00ພວກເຮົາຍັງສາມາດໃຊ້ເງື່ອນໄຂ WHERE ດ້ວຍຄ່າຕົວອັກສອນ. ຕົວຢ່າງນີ້ພວກເຮົາສາມາດສະແດງຜະລິດຕະພັນທັງຫມົດທີ່ມີຊື່ເລີ່ມຕົ້ນດ້ວຍ U, V, W, X, Y ຫຼື Z ກັບຄໍາຖາມຕໍ່ໄປນີ້:
SELECT ProductName FROM ຜະລິດຕະພັນບ່ອນທີ່ ProductName> = 'T'ເຊິ່ງຜະລິດຜົນໄດ້ຮັບ:
ProductName ------- Uncle Bob's Organic Pears ແຫ້ງສະແດງຂອບເຂດນໍາໃຊ້ຂອບເຂດ
ຂໍ້ກໍານົດ WHERE ຍັງອະນຸຍາດໃຫ້ພວກເຮົາປະຕິບັດເງື່ອນໄຂໃນຂອບເຂດຂອງມູນຄ່າໂດຍນໍາໃຊ້ເງື່ອນໄຂຫຼາຍຢ່າງ. ຕົວຢ່າງ: ຖ້າພວກເຮົາຕ້ອງການສອບຖາມຂອງພວກເຮົາຂ້າງເທິງແລະຈໍາກັດຜົນໄດ້ຮັບກັບຜະລິດຕະພັນທີ່ມີລາຄາລະຫວ່າງ 15.00 ແລະ 20.00, ພວກເຮົາສາມາດນໍາໃຊ້ຄໍາຖາມຕໍ່ໄປນີ້:
SELECT ProductName, UnitPrice FROM products WHERE UnitPrice> 1500 & UnitPrice <2000ນີ້ຜະລິດຜົນໄດ້ຮັບສະແດງຢູ່ຂ້າງລຸ່ມນີ້:
ProductName UnitPrice ------- -------- Chai 1800 Chang 1900ສະແດງຂອບເຂດທີ່ມີລະຫວ່າງ
SQL ຍັງໃຫ້ທາງລັດ BETWEEN syntax ທີ່ຫຼຸດຜ່ອນຈໍານວນເງື່ອນໄຂທີ່ພວກເຮົາຈໍາເປັນຕ້ອງປະກອບແລະເຮັດໃຫ້ຄໍາຖາມທີ່ສາມາດອ່ານໄດ້. ຕົວຢ່າງ: ແທນທີ່ຈະນໍາໃຊ້ເງື່ອນໄຂສອງທີ່ຢູ່ຂ້າງເທິງ, ພວກເຮົາສາມາດສະແດງຄໍາຖາມດຽວກັນກັບ:
SELECT ProductName, UnitPrice FROM ຜະລິດຕະພັນ WHERE UnitPrice ທີ່ຢູ່ລະຫວ່າງ 1500 ແລະ 2000ເຊັ່ນດຽວກັນກັບຂໍ້ກໍານົດເງື່ອນໄຂອື່ນໆຂອງພວກເຮົາ, BETWEEN ເຮັດວຽກຮ່ວມກັບຄ່າຊ່ອຍແນ່ເຊັ່ນດຽວກັນ. ຖ້າພວກເຮົາຕ້ອງການຜະລິດບັນຊີລາຍຊື່ຂອງປະເທດທັງຫມົດທີ່ເລີ່ມຕົ້ນດ້ວຍ V, W ຫຼື X, ພວກເຮົາສາມາດນໍາໃຊ້ຄໍາຖາມ:
SELECT ProductName FROM ຜະລິດຕະພັນທີ່ຜະລິດຕະພັນທີ່ຊື່ວ່າ "A" ແລະ "D"ເຊິ່ງຜະລິດຜົນໄດ້ຮັບ:
ຜະລິດຕະພັນຊື່ ------- ນ້ໍາສີດຜີວ Chai Chang Chef Anton's Gumbo Mix Chef Anton's Cajun Seasoningclause WHERE ແມ່ນພາກສ່ວນຫນຶ່ງທີ່ມີອໍານາດຂອງພາສາ SQL ທີ່ອະນຸຍາດໃຫ້ທ່ານສາມາດຈໍາກັດຜົນໄດ້ຮັບຂອງມູນຄ່າທີ່ຫຼຸດລົງໃນລະດັບທີ່ກໍານົດໄວ້. ມັນຖືກນໍາໃຊ້ຫຼາຍທີ່ສຸດເພື່ອຊ່ວຍໃຫ້ມີເຫດຜົນທາງທຸລະກິດແລະຄວນເປັນສ່ວນຫນຶ່ງຂອງທຸກເຄື່ອງມືຂອງຖານຂໍ້ມູນຂອງມືອາຊີບ.
ມັນມັກຈະເປັນປະໂຫຍດທີ່ຈະລວມເອົາຂໍ້ກໍານົດທົ່ວໄປເຂົ້າໃນ ຂັ້ນຕອນເກັບຮັກສາໄວ້ ເພື່ອເຮັດໃຫ້ມັນສາມາດເຂົ້າເຖິງຜູ້ທີ່ບໍ່ມີຄວາມຮູ້ SQL.