ການດຶງຂໍ້ມູນທີ່ມີຄໍາຖາມ SQL: ການນໍາສະເຫນີຄໍາສັ່ງ SELECT

ພາສາຄໍາຖາມ Structured Query ໃຫ້ຜູ້ໃຊ້ຖານຂໍ້ມູນກົນໄກການດຶງຂໍ້ມູນທີ່ມີປະສິດທິພາບແລະມີຄວາມຍືດຫຍຸ່ນ - ຄໍາສັ່ງ SELECT. ໃນບົດຄວາມນີ້, ພວກເຮົາຈະເບິ່ງແບບຟອມທົ່ວໄປຂອງຄໍາສັ່ງ SELECT ແລະສ້າງຂໍ້ມູນຖານຂໍ້ມູນຕົວຢ່າງຕົວຢ່າງຫນຶ່ງນໍາກັນ. ຖ້ານີ້ແມ່ນການທໍາອິດຂອງທ່ານເຂົ້າສູ່ໂລກຂອງພາສາຄໍາຖາມແບບໂຄງສ້າງ, ທ່ານອາດຕ້ອງການທົບທວນບົດຂຽນ ພື້ນຖານ SQL ກ່ອນທີ່ຈະສືບຕໍ່.

ຖ້າທ່ານກໍາລັງຊອກຫາຖານຂໍ້ມູນໃຫມ່ຈາກຂັ້ນຕອນທໍາອິດ, ບົດຄວາມ ການສ້າງຖານຂໍ້ມູນແລະຕາຕະລາງໃນ SQL ຄວນສະແດງຈຸດໂດດເດັ່ນທີ່ດີ.

ໃນປັດຈຸບັນທີ່ທ່ານໄດ້ brushed ເຖິງພື້ນຖານ, ໃຫ້ເລີ່ມຕົ້ນການສໍາຫຼວດຂອງພວກເຮົາຄໍາສັ່ງ SELECT. ເຊັ່ນດຽວກັນກັບບົດຮຽນ SQL ທີ່ຜ່ານມາ, ພວກເຮົາຈະສືບຕໍ່ນໍາໃຊ້ຄໍາສັ່ງທີ່ສອດຄ່ອງກັບມາດຕະຖານ ANSI SQL. ທ່ານອາດຈະຕ້ອງປຶກສາເອກະສານສໍາລັບ DBMS ຂອງທ່ານເພື່ອກໍານົດວ່າມັນສະຫນັບສະຫນູນທາງເລືອກແບບພິເສດທີ່ສາມາດເພີ່ມປະສິດທິພາບແລະ / ຫຼືປະສິດທິຜົນຂອງລະຫັດ SQL ຂອງທ່ານ.

ແບບຟອມທົ່ວໄປຂອງຄໍາສັ່ງ SELECT

ແບບຟອມທົ່ວໄປຂອງຄໍາສັ່ງ SELECT ປາກົດຢູ່ຂ້າງລຸ່ມນີ້:

SELECT select_list
FROM source
WHERE ເງື່ອນໄຂ (s)
GROUP BY expression
ມີ ເງື່ອນໄຂ
ORDER BY expression

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

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

ວິທີທີ່ງ່າຍທີ່ສຸດທີ່ຈະຮຽນຮູ້ SQL ແມ່ນຕົວຢ່າງ. ດ້ວຍຕົວນັ້ນ, ຈົ່ງເລີ່ມຕົ້ນຊອກຫາບາງຄໍາຖາມທີ່ຖານຂໍ້ມູນ. ຕະຫຼອດບົດຄວາມນີ້, ພວກເຮົາຈະນໍາໃຊ້ຕາຕະລາງພະນັກງານຈາກຖານຂໍ້ມູນຊັບພະຍາກອນຊັບພະຍາກອນມະນຸດຂອງ XYZ ເພື່ອສະແດງໃຫ້ເຫັນທຸກຄໍາຖາມຂອງພວກເຮົາ. ນີ້ແມ່ນຕາຕະລາງທັງຫມົດ:

EmployeeID

ນາມ​ສະ​ກຸນ

ຊື່​ແທ້

ເງິນເດືອນ

ReportTo

1

Smith

John

32000

2

2

Scampi

Sue

45000

NULL

3

Kendall

Tom

29500

2

4 Jones ອັບຣາຮາມ 35000 2
5 Allen ບິນ 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3

ການດຶງເອົາຕາຕະລາງທັງຫມົດ

ຜູ້ອໍານວຍການຊັບພະຍາກອນມະນຸດຂອງ XYZ Corporation ໄດ້ຮັບລາຍງານປະຈໍາເດືອນເຊິ່ງສະຫນອງຂໍ້ມູນເງິນເດືອນແລະລາຍງານຕໍ່ພະນັກງານຂອງບໍລິສັດແຕ່ລະຄົນ. ການຜະລິດຂອງບົດລາຍງານນີ້ແມ່ນຕົວຢ່າງຂອງແບບຟອມ simplest ຂອງຄໍາສັ່ງ SELECT. ມັນພຽງແຕ່ລວບລວມຂໍ້ມູນທັງຫມົດທີ່ມີຢູ່ໃນຕາຕະລາງຖານຂໍ້ມູນ - ທຸກຄໍລໍາແລະທຸກແຖວ. ນີ້ແມ່ນຄໍາຖາມທີ່ຈະສໍາເລັດຜົນນີ້:

SELECT *
ຈາກພະນັກງານ

pretty straightforward, ສິດ? ຕົວອັກສອນ (*) ທີ່ປາກົດໃນ select_list ແມ່ນຕົວແທນທີ່ໃຊ້ເພື່ອແຈ້ງໃຫ້ຖານຂໍ້ມູນທີ່ວ່າພວກເຮົາຕ້ອງການເອົາຂໍ້ມູນຈາກທຸກຄໍລໍາໃນຕາຕະລາງຂອງພະນັກງານທີ່ລະບຸໄວ້ໃນຂໍ້ກໍານົດ FROM. ພວກເຮົາຕ້ອງການເອົາຂໍ້ມູນທັງຫມົດໃນຖານຂໍ້ມູນ, ດັ່ງນັ້ນມັນບໍ່ຈໍາເປັນຕ້ອງໃຊ້ຄໍາສັບ WHERE ເພື່ອຈໍາກັດແຖວທີ່ເລືອກຈາກຕາຕະລາງ.

ນີ້ແມ່ນສິ່ງທີ່ຜົນລັບການສອບຖາມຂອງພວກເຮົາຄື:

EmployeeID ນາມ​ສະ​ກຸນ ຊື່​ແທ້ ເງິນເດືອນ ReportTo
---------- -------- --------- ------ ---------
1 Smith John 32000 2
2 Scampi Sue 45000 NULL
3 Kendall Tom 29500 2
4 Jones ອັບຣາຮາມ 35000 2
5 Allen ບິນ 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3