ພາສາຄໍາຖາມ 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 |