ການເລືອກຂໍ້ມູນພາຍໃນຂອບໃນ SQL

ການແນະນໍາເງື່ອນໄຂທີ່ 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:

SELECT ProductName, UnitPrice FROM products WHERE UnitPrice> 2000

ນີ້ຜະລິດບັນຊີລາຍຊື່ຂອງສີ່ຜະລິດຕະພັນດັ່ງລຸ່ມນີ້:

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 Seasoning

clause WHERE ແມ່ນພາກສ່ວນຫນຶ່ງທີ່ມີອໍານາດຂອງພາສາ SQL ທີ່ອະນຸຍາດໃຫ້ທ່ານສາມາດຈໍາກັດຜົນໄດ້ຮັບຂອງມູນຄ່າທີ່ຫຼຸດລົງໃນລະດັບທີ່ກໍານົດໄວ້. ມັນຖືກນໍາໃຊ້ຫຼາຍທີ່ສຸດເພື່ອຊ່ວຍໃຫ້ມີເຫດຜົນທາງທຸລະກິດແລະຄວນເປັນສ່ວນຫນຶ່ງຂອງທຸກເຄື່ອງມືຂອງຖານຂໍ້ມູນຂອງມືອາຊີບ.

ມັນມັກຈະເປັນປະໂຫຍດທີ່ຈະລວມເອົາຂໍ້ກໍານົດທົ່ວໄປເຂົ້າໃນ ຂັ້ນຕອນເກັບຮັກສາໄວ້ ເພື່ອເຮັດໃຫ້ມັນສາມາດເຂົ້າເຖິງຜູ້ທີ່ບໍ່ມີຄວາມຮູ້ SQL.