ເນື້ອໃນ

# ການອອກແບບຄຳຖາມ

ມຸມມອງການອອກແບບຄຳຖາມ ອະນຸຍາດໃຫ້ທ່ານສ້າງ ແລະ ແກ້ໄຂຄຳຖາມຖານຂໍ້ມູນໄດ້.

ເພື່ອເຂົ້າເຖິງຄຳສັ່ງນີ້...

ໃນໜ້າຕ່າງໄຟລ໌ຖານຂໍ້ມູນ, ຄລິກໄອຄອນ ການສອບຖາມ, ຈາກນັ້ນເລືອກ ແກ້ໄຂ - ແກ້ໄຂ.

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

ເມື່ອເລືອກຄຳສັ່ງ ສ້າງມຸມມອງ ຈາກແຖບ ຕາຕະລາງ ຂອງເອກະສານຖານຂໍ້ມູນ, ທ່ານຈະເຫັນປ່ອງຢ້ຽມ ການອອກແບບມຸມມອງ ທີ່ຄ້າຍຄືກັບປ່ອງຢ້ຽມ ການອອກແບບຄຳຖາມ ທີ່ອະທິບາຍຢູ່ນີ້.

ໂຄງຮ່າງຂອງປ່ອງຢ້ຽມການອອກແບບຄຳຖາມຈະຖືກເກັບຮັກສາໄວ້ພ້ອມກັບຄຳຖາມທີ່ສ້າງຂຶ້ນ, ແຕ່ບໍ່ສາມາດເກັບຮັກສາໄວ້ພ້ອມກັບມຸມມອງທີ່ສ້າງຂຶ້ນໄດ້.

## ມຸມມອງການອອກແບບ

ເພື່ອສ້າງຄຳຖາມ, ໃຫ້ຄລິກທີ່ໄອຄອນ ຄຳຖາມ ໃນເອກະສານຖານຂໍ້ມູນ, ແລ້ວຄລິກ ສ້າງຄຳຖາມໃນມຸມມອງການອອກແບບ.

ສ່ວນລຸ່ມຂອງມຸມມອງການອອກແບບແມ່ນບ່ອນທີ່ທ່ານກຳນົດຄຳຖາມ. ເພື່ອກຳນົດຄຳຖາມ, ໃຫ້ລະບຸຊື່ເຂດຂໍ້ມູນຖານຂໍ້ມູນທີ່ຈະລວມເຂົ້າ ແລະ ເງື່ອນໄຂໃນການສະແດງເຂດຂໍ້ມູນເຫຼົ່ານັ້ນ. ເພື່ອຈັດລຽງຖັນໃນສ່ວນລຸ່ມຂອງມຸມມອງການອອກແບບໃໝ່, ໃຫ້ລາກສ່ວນຫົວຖັນໄປຫາບ່ອນໃໝ່, ຫຼື ເລືອກຖັນແລ້ວກົດ CommandCtrl+ປຸ່ມລູກສອນ.

ຢູ່ສ່ວນເທິງຂອງປ່ອງຢ້ຽມມຸມມອງການອອກແບບຄຳຖາມ, ຈະມີ ໄອຄອນ ຂອງແຖບ ການອອກແບບຄຳຖາມ ແລະ ແຖບ ການອອກແບບ ສະແດງຂຶ້ນ.

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

### ປຸ່ມຄີບອດໃນມຸມມອງການອອກແບບຄຳຖາມ

ປຸ່ມ | ຟັງຊັນ
--- | ---
F4 | ເບິ່ງຕົວຢ່າງ
F5 | ເອີ້ນໃຊ້ຄຳຖາມ
F7 | ເພີ່ມຕາຕະລາງ ຫຼື ຄຳຖາມ

## ຄົ້ນຫາ

ເມື່ອທ່ານເປີດການອອກແບບຄຳຖາມເປັນຄັ້ງທຳອິດ, ທ່ານຈະເຫັນກ່ອງໂຕ້ຕອບເຊິ່ງທ່ານຕ້ອງເລືອກຕາຕະລາງ ຫຼື ຄຳຖາມທີ່ຈະເປັນພື້ນຖານໃຫ້ກັບຄຳຖາມໃໝ່ຂອງທ່ານກ່ອນ.

ດັບເບິ້ນຄລິກທີ່ເຂດຂໍ້ມູນເພື່ອເພີ່ມພວກມັນເຂົ້າໃນຄຳຖາມ. ໃຊ້ການລາກແລ້ວວາງເພື່ອການກຳນົດຄວາມສຳພັນ.

ໃນຂະນະທີ່ກຳລັງອອກແບບຄຳຖາມ, ທ່ານບໍ່ສາມາດແກ້ໄຂຕາຕະລາງທີ່ເລືອກໄວ້ໄດ້.

### ເອົາຕາຕະລາງອອກ

ເພື່ອເອົາຕາຕະລາງອອກຈາກມຸມມອງການອອກແບບ, ໃຫ້ຄລິກທີ່ຂອບເທິງຂອງປ່ອງຢ້ຽມຕາຕະລາງ ແລະ ເປີດເມນູລັດ. ທ່ານສາມາດໃຊ້ຄຳສັ່ງ ລຶບ ເພື່ອເອົາຕາຕະລາງອອກຈາກມຸມມອງການອອກແບບ. ອີກວິທີໜຶ່ງແມ່ນກົດປຸ່ມ Delete.

### ຍ້າຍຕາຕະລາງ ແລະ ປັບປ່ຽນຂະໜາດຕາຕະລາງ

ທ່ານສາມາດປ່ຽນຂະໜາດ ແລະ ຈັດລຽງຕາຕະລາງໄດ້ຕາມຄວາມຕ້ອງການ. ເພື່ອຍ້າຍຕາຕະລາງ, ໃຫ້ລາກຂອບເທິງໄປຫາຕຳແໜ່ງທີ່ຕ້ອງການ. ຂະຫຍາຍ ຫຼື ຫຼຸດຂະໜາດການສະແດງຜົນຂອງຕາຕະລາງໂດຍການວາງຕົວກະພິບເມົາສ໌ໄວ້ທີ່ຂອບ ຫຼື ທີ່ມຸມ ແລ້ວລາກຕາຕະລາງຈົນກວ່າຈະໄດ້ຂະໜາດທີ່ຕ້ອງການ.

## ຄວາມສຳພັນຂອງຕາຕະລາງ

ຖ້າມີຄວາມສຳພັນຂອງຂໍ້ມູນລະຫວ່າງຊື່ເຂດຂໍ້ມູນໃນຕາຕະລາງໜຶ່ງ ແລະ ຊື່ເຂດຂໍ້ມູນໃນອີກຕາຕະລາງໜຶ່ງ, ທ່ານສາມາດໃຊ້ຄວາມສຳພັນເຫຼົ່ານີ້ສຳລັບຄຳຖາມຂອງທ່ານໄດ້.

ຕົວຢ່າງ: ຖ້າທ່ານມີສະເປຣດຊີດສຳລັບສິນຄ້າທີ່ລະບຸດ້ວຍເລກລະຫັດສິນຄ້າ, ແລະ ມີສະເປຣດຊີດສຳລັບລູກຄ້າທີ່ທ່ານບັນທຶກສິນຄ້າທັງໝົດທີ່ລູກຄ້າສັ່ງຊື້ໂດຍໃຊ້ເລກລະຫັດສິນຄ້າທີ່ກ່ຽວຂ້ອງ, ມັນກໍຈະມີຄວາມສຳພັນລະຫວ່າງສອງເຂດຂໍ້ມູນ "ເລກລະຫັດສິນຄ້າ". ຖ້າຕອນນີ້ທ່ານຕ້ອງການສ້າງຄຳຖາມທີ່ສະແດງລາຍການສິນຄ້າທັງໝົດທີ່ລູກຄ້າໄດ້ສັ່ງຊື້, ທ່ານຕ້ອງດຶງຂໍ້ມູນຈາກທັງສອງສະເປຣດຊີດ. ເພື່ອເຮັດສິ່ງນີ້, ທ່ານຕ້ອງແຈ້ງໃຫ້ LibreOffice ຊາບກ່ຽວກັບຄວາມສຳພັນທີ່ມີຢູ່ລະຫວ່າງຂໍ້ມູນໃນສອງສະເປຣດຊີດນັ້ນ.

ວິທີການເຮັດຄື: ຄລິກທີ່ຊື່ເຂດຂໍ້ມູນໃນຕາຕະລາງໜຶ່ງ (ຕົວຢ່າງ: ຊື່ເຂດຂໍ້ມູນ "ເລກລະຫັດສິນຄ້າ" ຈາກຕາຕະລາງລູກຄ້າ), ກົດເມົາສ໌ຄ້າງໄວ້ ແລ້ວລາກຊື່ເຂດຂໍ້ມູນນັ້ນໄປຫາຊື່ເຂດຂໍ້ມູນຂອງອີກຕາຕະລາງໜຶ່ງ ("ເລກລະຫັດສິນຄ້າ" ຈາກຕາຕະລາງສິນຄ້າ). ເມື່ອທ່ານປ່ອຍເມົາສ໌, ຈະມີເສັ້ນເຊື່ອມຕໍ່ລະຫວ່າງສອງເຂດຂໍ້ມູນນັ້ນປາກົດຂຶ້ນລະຫວ່າງສອງປ່ອງຢ້ຽມຕາຕະລາງ. ເງື່ອນໄຂທີ່ກ່ຽວຂ້ອງວ່າຂໍ້ມູນໃນສອງເຂດຂໍ້ມູນນັ້ນຕ້ອງຄືກັນ ຈະຖືກປ້ອນເຂົ້າໃນຄຳຖາມ SQL ທີ່ໄດ້ຮັບ.

ການສ້າງຄຳຖາມທີ່ອີງຕາມຫຼາຍແຜ່ນງານທີ່ມີຄວາມສຳພັນກັນນັ້ນ ຈະເປັນໄປໄດ້ກໍຕໍ່ເມື່ອທ່ານໃຊ້ LibreOffice ເປັນສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ສຳລັບຖານຂໍ້ມູນທີ່ມີຄວາມສຳພັນ (relational database).

ທ່ານບໍ່ສາມາດເຂົ້າເຖິງຕາຕະລາງຈາກຖານຂໍ້ມູນທີ່ຕ່າງກັນໃນຄຳຖາມດຽວໄດ້. ຄຳຖາມທີ່ມີຫຼາຍຕາຕະລາງກ່ຽວຂ້ອງ ສາມາດສ້າງຂຶ້ນໄດ້ພາຍໃນຖານຂໍ້ມູນດຽວກັນເທົ່ານັ້ນ.

### ການລະບຸປະເພດຄວາມສຳພັນ

ຖ້າທ່ານດັບເບິ້ນຄລິກທີ່ເສັ້ນເຊື່ອມຕໍ່ສອງເຂດຂໍ້ມູນ ຫຼື ເອີ້ນໃຊ້ຄຳສັ່ງເມນູ ແຊກ - ຄວາມສຳພັນໃໝ່, ທ່ານສາມາດລະບຸປະເພດຂອງຄວາມສຳພັນໄດ້ໃນກ່ອງໂຕ້ຕອບ ຄວາມສຳພັນ.

ຫຼື ອີກວິທີໜຶ່ງແມ່ນກົດ Tab ຈົນກວ່າເສັ້ນນັ້ນຈະຖືກເລືອກ, ແລ້ວກົດ Shift+F10 ເພື່ອສະແດງເມນູລັດ ແລ້ວເລືອກຄຳສັ່ງ ແກ້ໄຂ. ຖານຂໍ້ມູນບາງແຫ່ງຮອງຮັບພຽງແຕ່ບາງປະເພດການເຊື່ອມເທົ່ານັ້ນ.

### ການລຶບຄວາມສຳພັນ

ເພື່ອລຶບຄວາມສຳພັນລະຫວ່າງສອງຕາຕະລາງ, ໃຫ້ຄລິກທີ່ເສັ້ນເຊື່ອມຕໍ່ ແລ້ວກົດປຸ່ມ Delete.

ຫຼື ອີກວິທີໜຶ່ງແມ່ນລຶບລາຍການທີ່ກ່ຽວຂ້ອງໃນ ເຂດຂໍ້ມູນທີ່ມີສ່ວນຮ່ວມ ໃນກ່ອງໂຕ້ຕອບ ຄວາມສຳພັນ. ຫຼື ກົດ Tab ຈົນກວ່າເສັ້ນເຊື່ອມຕໍ່ຈະສະແດງເປັນແຖບສີ, ແລ້ວກົດ Shift+F10 ເພື່ອເປີດເມນູລັດ ແລະ ເລືອກຄຳສັ່ງ ລຶບ.

## ການກຳນົດຄຳຖາມ

ເລືອກເງື່ອນໄຂເພື່ອກຳນົດຄຳຖາມ. ແຕ່ລະຖັນຂອງຕາຕະລາງການອອກແບບຈະຮັບເຂດຂໍ້ມູນໜຶ່ງສຳລັບຄຳຖາມ. ເງື່ອນໄຂໃນແຖວດຽວກັນຈະຖືກເຊື່ອມຕໍ່ດ້ວຍ Boolean AND.

### ການລະບຸຊື່ເຂດຂໍ້ມູນ

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

### ການລຶບຊື່ເຂດຂໍ້ມູນ

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

### ການບັນທຶກຄຳຖາມ

ໃຊ້ໄອຄອນ ບັນທຶກ ໃນແຖບເຄື່ອງມືມາດຕະຖານເພື່ອບັນທຶກຄຳຖາມ. ທ່ານຈະເຫັນກ່ອງໂຕ້ຕອບທີ່ຖາມໃຫ້ທ່ານປ້ອນຊື່ສຳລັບຄຳຖາມ. ຖ້າຖານຂໍ້ມູນນັ້ນຮອງຮັບ Schema, ທ່ານກໍສາມາດປ້ອນຊື່ Schema ໄດ້ນຳ.

#### Schema

ປ້ອນຊື່ Schema ທີ່ຖືກກຳນົດໃຫ້ກັບຄຳຖາມ ຫຼື ມຸມມອງຕາຕະລາງ.

#### ຊື່ຄຳຖາມ ຫຼື ຊື່ມຸມມອງຕາຕະລາງ

ປ້ອນຊື່ຂອງຄຳຖາມ ຫຼື ມຸມມອງຕາຕະລາງ.

### ການກັ່ນຕອງຂໍ້ມູນ

ເພື່ອການກັ່ນຕອງຂໍ້ມູນສຳລັບຄຳຖາມ, ໃຫ້ຕັ້ງເງື່ອນໄຂທີ່ຕ້ອງການໃນສ່ວນລຸ່ມຂອງປ່ອງຢ້ຽມການອອກແບບຄຳຖາມ. ມີຕົວເລືອກດັ່ງຕໍ່ໄປນີ້:

#### ເຂດຂໍ້ມູນ

ປ້ອນຊື່ເຂດຂໍ້ມູນທີ່ຖືກອ້າງອີງໃນຄຳຖາມ. ການຕັ້ງຄ່າທັງໝົດໃນແຖວຕົວເລືອກການກັ່ນຕອງຈະອ້າງອີງເຖິງເຂດຂໍ້ມູນນີ້. ຖ້າທ່ານຄລິກທີ່ຫ້ອງນີ້ ທ່ານຈະເຫັນປຸ່ມລູກສອນ ເຊິ່ງຈະຊ່ວຍໃຫ້ທ່ານສາມາດເລືອກເຂດຂໍ້ມູນໄດ້. ຕົວເລືອກ "ຊື່ຕາຕະລາງ.*" ຈະເລືອກເຂດຂໍ້ມູນທັງໝົດ ເຊິ່ງຈະມີຜົນເຮັດໃຫ້ເງື່ອນໄຂທີ່ລະບຸຖືກນຳໃຊ້ກັບທຸກເຂດຂໍ້ມູນຂອງຕາຕະລາງ.

#### ນາມແຝງ

ລະບຸນາມແຝງ. ນາມແຝງນີ້ຈະຖືກສະແດງໃນຄຳຖາມແທນທີ່ຊື່ເຂດຂໍ້ມູນ. ສິ່ງນີ້ຊ່ວຍໃຫ້ສາມາດໃຊ້ປ້າຍຊື່ຖັນທີ່ຜູ້ໃຊ້ກຳນົດເອງໄດ້. ຕົວຢ່າງ: ຖ້າເຂດຂໍ້ມູນມີຊື່ວ່າ PtNo ແຕ່ທ່ານຕ້ອງການໃຫ້ມັນສະແດງເປັນ PartNum ໃນຄຳຖາມ, ໃຫ້ປ້ອນ PartNum ເປັນນາມແຝງ.

ໃນຄຳສັ່ງ SQL, ນາມແຝງຈະຖືກກຳນົດດັ່ງນີ້:

SELECT ຖັນ AS ນາມແຝງ FROM ຕາຕະລາງ.

ຕົວຢ່າງ:

    SELECT "PtNo" AS "PartNum" FROM "Parts"

#### ຕາຕະລາງ

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

#### ຈັດລຽງ

ຖ້າທ່ານຄລິກທີ່ຫ້ອງນີ້, ທ່ານສາມາດເລືອກຕົວເລືອກການຈັດລຽງໄດ້ຄື: ຈາກນ້ອຍຫາໃຫຍ່, ຈາກໃຫຍ່ຫານ້ອຍ ແລະ ບໍ່ຈັດລຽງ. ເຂດຂໍ້ມູນຂໍ້ຄວາມຈະຖືກຈັດລຽງຕາມຕົວອັກສອນ ແລະ ເຂດຂໍ້ມູນຕົວເລກຈະຖືກຈັດລຽງຕາມລຳດັບຕົວເລກ. ສຳລັບຖານຂໍ້ມູນສ່ວນໃຫຍ່, ຜູ້ດູແລລະບົບສາມາດຕັ້ງຄ່າຕົວເລືອກການຈັດລຽງໄດ້ໃນລະດັບຖານຂໍ້ມູນ.

#### ສະແດງໃຫ້ເຫັນ

ຖ້າທ່ານໝາຍທີ່ຄຸນສົມບັດ ສະແດງໃຫ້ເຫັນ ສຳລັບເຂດຂໍ້ມູນ, ເຂດຂໍ້ມູນນັ້ນຈະຖືກສະແດງໃຫ້ເຫັນໃນຜົນຂອງຄຳຖາມ. ຖ້າທ່ານໃຊ້ເຂດຂໍ້ມູນນັ້ນພຽງເພື່ອສ້າງເງື່ອນໄຂ ຫຼື ເພື່ອການຄຳນວນ, ທ່ານກໍບໍ່ຈຳເປັນຕ້ອງໃຫ້ມັນສະແດງຜົນກໍໄດ້.

#### ເງື່ອນໄຂ

ລະບຸເງື່ອນໄຂທຳອິດທີ່ຈະໃຊ້ໃນການກັ່ນຕອງຂໍ້ມູນຂອງເຂດຂໍ້ມູນ.

#### ຫຼື

ຢູ່ນີ້ທ່ານສາມາດປ້ອນເງື່ອນໄຂການກັ່ນຕອງເພີ່ມເຕີມໄດ້ໜຶ່ງເງື່ອນໄຂສຳລັບແຕ່ລະແຖວ. ຫຼາຍເງື່ອນໄຂໃນຖັນດຽວກັນຈະຖືກແປຄວາມໝາຍເປັນ boolean OR.

ທ່ານຍັງສາມາດໃຊ້ເມນູລັດຂອງສ່ວນຫົວແຖວໃນສ່ວນລຸ່ມຂອງປ່ອງຢ້ຽມການອອກແບບຄຳຖາມເພື່ອແຊກການກັ່ນຕອງໂດຍອີງຕາມຟັງຊັນ:

### ຟັງຊັນ

ຟັງຊັນທີ່ມີໃຫ້ເລືອກຢູ່ນີ້ແມ່ນຂຶ້ນກັບຟັງຊັນທີ່ຕົວຈັກຖານຂໍ້ມູນ (database engine) ມີໃຫ້.

ຖ້າທ່ານກຳລັງເຮັດວຽກກັບຖານຂໍ້ມູນ HSQL ທີ່ຝັງຢູ່, ລາຍການເລືອກໃນແຖວ ຟັງຊັນ ຈະມີຕົວເລືອກດັ່ງຕໍ່ໄປນີ້ໃຫ້ທ່ານ:

ຕົວເລືອກ | SQL | ຜົນທີ່ໄດ້ຮັບ
--- | --- | ---
ບໍ່ມີຟັງຊັນ |  | ຈະບໍ່ມີການປະຕິບັດຟັງຊັນໃດໆ.
ຄ່າສະເລ່ຍ | AVG | ຄຳນວນຄ່າສະເລ່ຍເລກຄະນິດຂອງເຂດຂໍ້ມູນ.
ນັບ | COUNT | ກຳນົດຈຳນວນລະບຽບຂໍ້ມູນໃນຕາຕະລາງ. ເຂດຂໍ້ມູນທີ່ວ່າງສາມາດເລືອກໃຫ້ນັບ (ກ) ຫຼື ບໍ່ໃຫ້ນັບ (ຂ) ກໍໄດ້. ກ) COUNT(*): ການສົ່ງເຄື່ອງໝາຍດອກຈັນເປັນອາກິວເມັນຈະນັບທຸກລະບຽບຂໍ້ມູນໃນຕາຕະລາງ. ຂ) COUNT(ຖັນ): ການສົ່ງຊື່ເຂດຂໍ້ມູນເປັນອາກິວເມັນຈະນັບສະເພາະລະບຽບຂໍ້ມູນທີ່ເຂດຂໍ້ມູນທີ່ລະບຸນັ້ນມີຄ່າຂໍ້ມູນຢູ່. ລະບຽບຂໍ້ມູນທີ່ເຂດຂໍ້ມູນມີຄ່າເປັນ Null (ເຊັ່ນ: ບໍ່ມີຂໍ້ຄວາມ ຫຼື ຕົວເລກ) ຈະບໍ່ຖືກນັບ.
ຄ່າສູງສຸດ | MAX | ຊອກຫາຄ່າທີ່ສູງທີ່ສຸດຂອງລະບຽບຂໍ້ມູນສຳລັບເຂດຂໍ້ມູນນັ້ນ.
ຄ່າຕ່ຳສຸດ | MIN | ຊອກຫາຄ່າທີ່ຕ່ຳທີ່ສຸດຂອງລະບຽບຂໍ້ມູນສຳລັບເຂດຂໍ້ມູນນັ້ນ.
ຜົນລວມ | SUM | ຄຳນວນຜົນລວມຂອງຄ່າຂໍ້ມູນໃນລະບຽບຂໍ້ມູນສຳລັບເຂດຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ.
ກຸ່ມ | GROUP BY | ຈັດກຸ່ມຂໍ້ມູນຄຳຖາມຕາມຊື່ເຂດຂໍ້ມູນທີ່ເລືອກ. ຟັງຊັນຕ່າງໆຈະຖືກປະຕິບັດຕາມກຸ່ມທີ່ລະບຸໄວ້. ໃນ SQL, ຕົວເລືອກນີ້ກົງກັບຄຳສັ່ງ GROUP BY. ຖ້າມີການເພີ່ມເງື່ອນໄຂ, ລາຍການນີ້ຈະປາກົດໃນຄຳສັ່ງຍ່ອຍ SQL HAVING.

ທ່ານຍັງສາມາດປ້ອນການເອີ້ນໃຊ້ຟັງຊັນເຂົ້າໃນຄຳສັ່ງ SQL ໂດຍກົງໄດ້. ຮູບແບບຄື:

SELECT FUNCTION(ຖັນ) FROM ຕາຕະລາງ.

ຕົວຢ່າງ: ການເອີ້ນໃຊ້ຟັງຊັນໃນ SQL ເພື່ອຄຳນວນຜົນລວມຄື:

    SELECT SUM("ລາຄາ") FROM "ສິນຄ້າ".

ຍົກເວັ້ນຟັງຊັນ ກຸ່ມ, ຟັງຊັນທີ່ກ່າວມາຂ້າງເທິງຖືກເອີ້ນວ່າ ຟັງຊັນລວມ (Aggregate functions). ເຫຼົ່ານີ້ແມ່ນຟັງຊັນທີ່ຄຳນວນຂໍ້ມູນເພື່ອສ້າງບົດສະຫຼຸບຈາກຜົນໄດ້ຮັບ. ຟັງຊັນເພີ່ມເຕີມອື່ນໆທີ່ບໍ່ໄດ້ຢູ່ໃນລາຍການເລືອກກໍອາດຈະສາມາດໃຊ້ໄດ້ຄືກັນ. ສິ່ງເຫຼົ່ານີ້ຂຶ້ນກັບຕົວຈັກຖານຂໍ້ມູນສະເພາະທີ່ໃຊ້ ແລະ ຄວາມສາມາດຂອງໄດຣເວີ Base ທີ່ໃຊ້ໃນການເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນນັ້ນ.

ເພື່ອໃຊ້ຟັງຊັນອື່ນໆທີ່ບໍ່ໄດ້ຢູ່ໃນລາຍການເລືອກ, ທ່ານຕ້ອງປ້ອນພວກມັນເອງພາຍໃຕ້ ເຂດຂໍ້ມູນ.

ທ່ານຍັງສາມາດກຳນົດນາມແຝງໃຫ້ກັບການເອີ້ນໃຊ້ຟັງຊັນໄດ້. ຖ້າທ່ານບໍ່ຕ້ອງການໃຫ້ສະແດງຂໍ້ຄວາມຄຳຖາມໃນສ່ວນຫົວຖັນ, ໃຫ້ປ້ອນຊື່ທີ່ທ່ານຕ້ອງການແທນລົງໃນ ນາມແຝງ.

ຟັງຊັນທີ່ກ່ຽວຂ້ອງໃນຄຳສັ່ງ SQL ຄື:

SELECT FUNCTION() AS ນາມແຝງ FROM ຕາຕະລາງ

ຕົວຢ່າງ:

    SELECT COUNT(*) AS count FROM "ສິນຄ້າ"

ຖ້າທ່ານເອີ້ນໃຊ້ຟັງຊັນດັ່ງກ່າວ, ທ່ານຈະບໍ່ສາມາດແຊກຖັນເພີ່ມເຕີມໃດໆສຳລັບຄຳຖາມໄດ້ ນອກຈາກຈະໃຊ້ເປັນອາກິວເມັນໃນຟັງຊັນ "ກຸ່ມ".

ຕົວຢ່າງ

ໃນຕົວຢ່າງຕໍ່ໄປນີ້, ຄຳຖາມຈະເຮັດວຽກຜ່ານສອງຕາຕະລາງຄື: ຕາຕະລາງ "ສິນຄ້າ" ທີ່ມີເຂດຂໍ້ມູນ "ເລກລະຫັດສິນຄ້າ" ແລະ ຕາຕະລາງ "ຜູ້ສະໜອງ" ທີ່ມີເຂດຂໍ້ມູນ "ຊື່ຜູ້ສະໜອງ". ນອກຈາກນັ້ນ, ທັງສອງຕາຕະລາງຍັງມີເຂດຂໍ້ມູນຮ່ວມກັນຄື "ເລກລະຫັດຜູ້ສະໜອງ".

ຂັ້ນຕອນຕໍ່ໄປນີ້ແມ່ນຈຳເປັນເພື່ອສ້າງຄຳຖາມທີ່ສະແດງລາຍຊື່ຜູ້ສະໜອງທັງໝົດທີ່ສົ່ງສິນຄ້າຫຼາຍກວ່າສາມລາຍການ.

1. ແຊກຕາຕະລາງ "ສິນຄ້າ" ແລະ "ຜູ້ສະໜອງ" ເຂົ້າໃນການອອກແບບຄຳຖາມ.

2. ເຊື່ອມຕໍ່ເຂດຂໍ້ມູນ "ເລກລະຫັດຜູ້ສະໜອງ" ຂອງທັງສອງຕາຕະລາງ ຖ້າຍັງບໍ່ມີຄວາມສຳພັນປະເພດນີ້ເທື່ອ.

3. ດັບເບິ້ນຄລິກທີ່ເຂດຂໍ້ມູນ "ເລກລະຫັດສິນຄ້າ" ຈາກຕາຕະລາງ "ສິນຄ້າ". ສະແດງແຖວ ຟັງຊັນ ໂດຍໃຊ້ເມນູລັດ ແລະ ເລືອກຟັງຊັນ ນັບ (Count).

4. ປ້ອນ >3 ເປັນເງື່ອນໄຂ ແລະ ຍົກເລີກການໝາຍທີ່ເຂດຂໍ້ມູນ ສະແດງໃຫ້ເຫັນ (Visible).

5. ດັບເບິ້ນຄລິກທີ່ເຂດຂໍ້ມູນ "ຊື່ຜູ້ສະໜອງ" ໃນຕາຕະລາງ "ຜູ້ສະໜອງ" ແລະ ເລືອກຟັງຊັນ ກຸ່ມ (Group).

6. ເອີ້ນໃຊ້ຄຳຖາມ.

ຖ້າເຂດຂໍ້ມູນ "ລາຄາ" (ສຳລັບລາຄາແຕ່ລະສິນຄ້າ) ແລະ "ເລກລະຫັດຜູ້ສະໜອງ" (ສຳລັບຜູ້ສະໜອງສິນຄ້າ) ມີຢູ່ໃນຕາຕະລາງ "ສິນຄ້າ", ທ່ານສາມາດຫາລາຄາສະເລ່ຍຂອງສິນຄ້າທີ່ຜູ້ສະໜອງແຕ່ລະລາຍສະໜອງໃຫ້ໄດ້ດ້ວຍຄຳຖາມດັ່ງຕໍ່ໄປນີ້:

1. ແຊກຕາຕະລາງ "ສິນຄ້າ" ເຂົ້າໃນການອອກແບບຄຳຖາມ.

2. ດັບເບິ້ນຄລິກທີ່ເຂດຂໍ້ມູນ "ລາຄາ" ແລະ "ເລກລະຫັດຜູ້ສະໜອງ".

3. ເປີດໃຊ້ແຖວ ຟັງຊັນ ແລະ ເລືອກຟັງຊັນ ຄ່າສະເລ່ຍ (Average) ສຳລັບເຂດຂໍ້ມູນ "ລາຄາ".

4. ທ່ານຍັງສາມາດປ້ອນ "ຄ່າສະເລ່ຍ" ໃນແຖວນາມແຝງ (ໂດຍບໍ່ຕ້ອງໃສ່ເຄື່ອງໝາຍຄຳເວົ້າ).

5. ເລືອກ ກຸ່ມ (Group) ສຳລັບເຂດຂໍ້ມູນ "ເລກລະຫັດຜູ້ສະໜອງ".

6. ເອີ້ນໃຊ້ຄຳຖາມ.

ຄຳສັ່ງເມນູລັດ ແລະ ສັນຍາລັກຕໍ່ໄປນີ້ແມ່ນສາມາດໃຊ້ໄດ້:

### ຟັງຊັນ

ສະແດງ ຫຼື ເຊື່ອງແຖວສຳລັບການເລືອກຟັງຊັນ.

### ຊື່ຕາຕະລາງ

ສະແດງ ຫຼື ເຊື່ອງແຖວສຳລັບຊື່ຕາຕະລາງ.

### ຊື່ນາມແຝງ

ສະແດງ ຫຼື ເຊື່ອງແຖວສຳລັບຊື່ນາມແຝງ.

### ຄ່າທີ່ແຕກຕ່າງກັນ

ດຶງເອົາສະເພາະຄ່າທີ່ແຕກຕ່າງກັນຈາກຄຳຖາມ. ສິ່ງນີ້ໃຊ້ກັບຫຼາຍລະບຽບຂໍ້ມູນທີ່ອາດຈະມີຂໍ້ມູນຊ້ຳກັນໃນເຂດຂໍ້ມູນທີ່ເລືອກ. ຖ້າຄຳສັ່ງ ຄ່າທີ່ແຕກຕ່າງກັນ ຖືກເປີດໃຊ້, ທ່ານຈະເຫັນພຽງລະບຽບຂໍ້ມູນດຽວໃນຄຳຖາມ (DISTINCT). ຖ້າບໍ່ດັ່ງນັ້ນ, ທ່ານຈະເຫັນທຸກລະບຽບຂໍ້ມູນທີ່ກົງກັບເງື່ອນໄຂຂອງຄຳຖາມ (ALL).

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

ສຳລັບຄຳຖາມທີ່ມີຫຼາຍເຂດຂໍ້ມູນກ່ຽວຂ້ອງ, ການລວມກັນຂອງຄ່າຈາກທຸກເຂດຂໍ້ມູນຕ້ອງເປັນເອກະລັກເພື່ອໃຫ້ຜົນໄດ້ຮັບສາມາດສ້າງມາຈາກລະບຽບຂໍ້ມູນສະເພາະໄດ້. ຕົວຢ່າງ: ທ່ານມີ "Smith ຢູ່ Chicago" ໜຶ່ງຄັ້ງໃນປຶ້ມທີ່ຢູ່ ແລະ ມີ "Smith ຢູ່ London" ສອງຄັ້ງ. ດ້ວຍຄຳສັ່ງ ຄ່າທີ່ແຕກຕ່າງກັນ, ຄຳຖາມຈະໃຊ້ສອງເຂດຂໍ້ມູນຄື "ນາມສະກຸນ" ແລະ "ເມືອງ" ແລ້ວສົ່ງຜົນການຄົ້ນຫາ "Smith ຢູ່ Chicago" ໜຶ່ງຄັ້ງ ແລະ "Smith ຢູ່ London" ໜຶ່ງຄັ້ງ.

ໃນ SQL, ຄຳສັ່ງນີ້ກົງກັບສ່ວນຂະຫຍາຍ DISTINCT.

### ຂີດຈຳກັດ

ອະນຸຍາດໃຫ້ທ່ານຈຳກັດຈຳນວນລະບຽບຂໍ້ມູນສູງສຸດທີ່ຈະໃຫ້ຄຳຖາມສົ່ງກັບຄືນມາ.

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

### ການກຳນົດເງື່ອນໄຂການກັ່ນຕອງ

ເມື່ອກຳນົດເງື່ອນໄຂການກັ່ນຕອງ, ທ່ານສາມາດໃຊ້ຕົວດຳເນີນການ ແລະ ຄຳສັ່ງຕ່າງໆໄດ້. ນອກຈາກຕົວດຳເນີນການຄວາມສຳພັນແລ້ວ, ຍັງມີຄຳສັ່ງສະເພາະຂອງ SQL ທີ່ໃຊ້ຄົ້ນຫາເນື້ອໃນຂອງເຂດຂໍ້ມູນຖານຂໍ້ມູນ. ຖ້າທ່ານໃຊ້ຄຳສັ່ງເຫຼົ່ານີ້ໃນຮູບແບບຂອງ LibreOffice, LibreOffice ຈະແປງພວກມັນເປັນຮູບແບບ SQL ທີ່ກ່ຽວຂ້ອງໂດຍອັດຕະໂນມັດຜ່ານຕົວແປງພາຍໃນ. ທ່ານຍັງສາມາດປ້ອນຄຳສັ່ງ SQL ໄດ້ໂດຍກົງໂດຍບໍ່ຕ້ອງຜ່ານຕົວແປງພາຍໃນ. ຕາຕະລາງຕໍ່ໄປນີ້ສະແດງພາບລວມຂອງຕົວດຳເນີນການ ແລະ ຄຳສັ່ງຕ່າງໆ:

ຕົວດຳເນີນການ | ຄວາມໝາຍ | ເງື່ອນໄຂຈະສຳເລັດຖ້າ...
--- | --- | ---
= | ເທົ່າກັບ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນຄືກັນກັບນິພົດທີ່ລະບຸໄວ້. ຕົວດຳເນີນການ = ຈະບໍ່ຖືກສະແດງໃນເຂດຂໍ້ມູນຄຳຖາມ. ຖ້າທ່ານປ້ອນຄ່າໂດຍບໍ່ໃສ່ຕົວດຳເນີນການໃດໆ, ລະບົບຈະຖືວ່າເປັນຕົວດຳເນີນການ = ໂດຍອັດຕະໂນມັດ.
<> | ບໍ່ເທົ່າກັບ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນບໍ່ກົງກັບນິພົດທີ່ລະບຸໄວ້.
> | ໃຫຍ່ກວ່າ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນໃຫຍ່ກວ່າຂໍ້ມູນທີ່ລະບຸໄວ້.
< | ນ້ອຍກວ່າ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນນ້ອຍກວ່າຂໍ້ມູນທີ່ລະບຸໄວ້.
>= | ໃຫຍ່ກວ່າ ຫຼື ເທົ່າກັບ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນໃຫຍ່ກວ່າ ຫຼື ເທົ່າກັບຂໍ້ມູນທີ່ລະບຸໄວ້.
<= | ນ້ອຍກວ່າ ຫຼື ເທົ່າກັບ | ... ຂໍ້ມູນໃນເຂດຂໍ້ມູນນັ້ນນ້ອຍກວ່າ ຫຼື ເທົ່າກັບຂໍ້ມູນທີ່ລະບຸໄວ້.

ຄຳສັ່ງ LibreOffice | ຄຳສັ່ງ SQL | ຄວາມໝາຍ | ເງື່ອນໄຂຈະສຳເລັດຖ້າ...
--- | --- | --- | ---
IS EMPTY | IS NULL | ເປັນຄ່າຫວ່າງ (is null) | ... ເຂດຂໍ້ມູນບໍ່ມີຂໍ້ມູນຢູ່. ສຳລັບເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່ ທີ່ມີສາມສະຖານະທີ່ເປັນໄປໄດ້, ຄຳສັ່ງນີ້ຈະຄົ້ນຫາສະຖານະທີ່ຍັງບໍ່ໄດ້ກຳນົດໂດຍອັດຕະໂນມັດ (ບໍ່ແມ່ນທັງ ແມ່ນ ຫຼື ບໍ່).
IS NOT EMPTY | IS NOT NULL | ບໍ່ວ່າງ | ... ເຂດຂໍ້ມູນບໍ່ວ່າງ, ນັ້ນຄື ມັນມີຂໍ້ມູນຢູ່.
LIKE ຕົວແທນ (*) ສຳລັບຈຳນວນຕົວອັກສອນໃດໆ ຕົວແທນ (?) ສຳລັບໜຶ່ງຕົວອັກສອນພໍດີ | LIKE ຕົວແທນ (%) ສຳລັບຈຳນວນຕົວອັກສອນໃດໆ ຕົວແທນ (_) ສຳລັບໜຶ່ງຕົວອັກສອນພໍດີ | ເປັນສ່ວນໜຶ່ງຂອງ | ... ເຂດຂໍ້ມູນມີນິພົດທີ່ລະບຸໄວ້. ຕົວແທນ (*) ຈະບອກວ່າ x ປາກົດຢູ່ຕອນເລີ່ມຕົ້ນ (x*), ຢູ່ຕອນທ້າຍ (*x) ຫຼື ຢູ່ພາຍໃນຂໍ້ມູນ (*x*). ທ່ານສາມາດປ້ອນຕົວແທນໃນຄຳຖາມ SQL ໄດ້ທັງຕົວອັກສອນ SQL % ຫຼື ຕົວແທນ (*) ທີ່ຄຸ້ນເຄີຍໃນສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ຂອງ LibreOffice. ຕົວແທນ (*) ຫຼື (%) ໃຊ້ແທນຈຳນວນຕົວອັກສອນໃດໆ. ເຄື່ອງໝາຍຖາມ (?) ໃນສ່ວນຕິດຕໍ່ຂອງ LibreOffice ຫຼື ເຄື່ອງໝາຍຂີດກ້ອງ (_) ໃນຄຳຖາມ SQL ໃຊ້ແທນໜຶ່ງຕົວອັກສອນພໍດີ.
NOT LIKE | NOT LIKE | ບໍ່ແມ່ນສ່ວນໜຶ່ງຂອງ | ... ເຂດຂໍ້ມູນບໍ່ມີຂໍ້ມູນທີ່ເປັນນິພົດທີ່ລະບຸໄວ້.
BETWEEN x AND y | BETWEEN x AND y | ຢູ່ໃນລະຫວ່າງ [x,y] | ... ເຂດຂໍ້ມູນມີຄ່າຂໍ້ມູນທີ່ຢູ່ລະຫວ່າງສອງຄ່າ x ແລະ y.
NOT BETWEEN x AND y | NOT BETWEEN x AND y | ບໍ່ໄດ້ຢູ່ໃນລະຫວ່າງ [x,y] | ... ເຂດຂໍ້ມູນມີຄ່າຂໍ້ມູນທີ່ບໍ່ໄດ້ຢູ່ລະຫວ່າງສອງຄ່າ x ແລະ y.
IN (a; b; c...) ໝາຍເຫດ: ເຄື່ອງໝາຍຈ້ຳຈຸດ (;) ຖືກໃຊ້ເປັນຕົວແຍກໃນທຸກລາຍການຄ່າ! | IN (a, b, c...) | ບັນຈຸ a, b, c... | ... ເຂດຂໍ້ມູນມີໜຶ່ງໃນນິພົດທີ່ລະບຸໄວ້ຄື a, b, c,... ທ່ານສາມາດລະບຸນິພົດໄດ້ຫຼາຍເທົ່າໃດກໍໄດ້ ແລະ ຜົນຂອງຄຳຖາມຈະຖືກກຳນົດດ້ວຍຕົວດຳເນີນການ boolean OR. ນິພົດ a, b, c... ສາມາດເປັນໄດ້ທັງຕົວເລກ ຫຼື ຕົວອັກສອນ
NOT IN (a; b; c...) | NOT IN (a, b, c...) | ບໍ່ໄດ້ບັນຈຸ a, b, c... | ... ເຂດຂໍ້ມູນບໍ່ມີໜຶ່ງໃນນິພົດທີ່ລະບຸໄວ້ຄື a, b, c,...
= TRUE | = TRUE | ມີຄ່າເປັນ ແມ່ນ (True) | ... ເຂດຂໍ້ມູນມີຄ່າເປັນ ແມ່ນ (True).
= FALSE | = FALSE | ມີຄ່າເປັນ ບໍ່ (False) | ... ຄ່າຂໍ້ມູນໃນເຂດຂໍ້ມູນຖືກຕັ້ງເປັນ ບໍ່ (False).

### ຕົວຢ່າງ

='Ms.' | ສົ່ງຄືນຊື່ເຂດຂໍ້ມູນທີ່ມີຂໍ້ມູນເປັນ "Ms."
<'2001-01-10' | ສົ່ງຄືນວັນທີທີ່ເກີດຂຶ້ນກ່ອນວັນທີ 10 ມັງກອນ 2001
LIKE 'g?ve' | ສົ່ງຄືນລະບຽບຂໍ້ມູນທີ່ມີຂໍ້ມູນເຂດຂໍ້ມູນເຊັ່ນ "give" ແລະ "gave".
LIKE 'S*' | ສົ່ງຄືນລະບຽບຂໍ້ມູນທີ່ມີຂໍ້ມູນເຂດຂໍ້ມູນເຊັ່ນ "Sun".
BETWEEN 10 AND 20 | ສົ່ງຄືນລະບຽບຂໍ້ມູນທີ່ມີຂໍ້ມູນເຂດຂໍ້ມູນຢູ່ລະຫວ່າງຄ່າ 10 ແລະ 20 (ເຂດຂໍ້ມູນສາມາດເປັນໄດ້ທັງເຂດຂໍ້ມູນຂໍ້ຄວາມ ຫຼື ເຂດຂໍ້ມູນຕົວເລກ).
IN (1; 3; 5; 7) | ສົ່ງຄືນລະບຽບຂໍ້ມູນທີ່ມີຄ່າ 1, 3, 5, 7. ຕົວຢ່າງ: ຖ້າຊື່ເຂດຂໍ້ມູນມີເລກລະຫັດສິນຄ້າ, ທ່ານສາມາດສ້າງຄຳຖາມທີ່ສົ່ງຄືນສິນຄ້າທີ່ມີເລກລະຫັດທີ່ລະບຸໄວ້ນັ້ນ.
NOT IN ('Smith') | ສົ່ງຄືນລະບຽບຂໍ້ມູນທີ່ບໍ່ມີ "Smith".

Like Escape Sequence: {escape 'ຕົວອັກສອນ-escape'}

ຕົວຢ່າງ:

    SELECT * FROM Item WHERE ItemName LIKE 'The *%' {escape '*'}

ຕົວຢ່າງນີ້ຈະສະແດງທຸກລາຍການທີ່ຊື່ສິນຄ້າເລີ່ມຕົ້ນດ້ວຍ 'The *'. ນີ້ໝາຍຄວາມວ່າທ່ານສາມາດຄົ້ນຫາຕົວອັກສອນທີ່ຈະຖືກແປຄວາມໝາຍເປັນຕົວແທນໄດ້ ເຊັ່ນ *, ?, _, % ຫຼື ເຄື່ອງໝາຍຈ້ຳ.

Outer Join Escape Sequence: {oj outer-join}

ຕົວຢ່າງ:

    SELECT Article.* FROM {oj item LEFT OUTER JOIN orders ON item.no=orders.ANR}

### ການຄົ້ນຫາເຂດຂໍ້ມູນຂໍ້ຄວາມ

ເພື່ອຄົ້ນຫາຂໍ້ມູນໃນເຂດຂໍ້ມູນຂໍ້ຄວາມ, ທ່ານຕ້ອງໃສ່ນິພົດໄວ້ລະຫວ່າງເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ ('). ການແຍກຄວາມແຕກຕ່າງລະຫວ່າງຕົວອັກສອນໃຫຍ່ ແລະ ຕົວອັກສອນນ້ອຍແມ່ນຂຶ້ນກັບຖານຂໍ້ມູນທີ່ໃຊ້. ຕາມປົກກະຕິ LIKE ຈະແຍກຕົວອັກສອນໃຫຍ່-ນ້ອຍ (ເຖິງແມ່ນວ່າຖານຂໍ້ມູນບາງແຫ່ງຈະບໍ່ເຄັ່ງຄັດໃນເລື່ອງນີ້ກໍຕາມ).

### ການຄົ້ນຫາເຂດຂໍ້ມູນວັນທີ

ເຂດຂໍ້ມູນວັນທີ ຈະຖືກສະແດງເປັນ #Date# ເພື່ອລະບຸໃຫ້ຊັດເຈນວ່າເປັນວັນທີ. ຄ່າຄົງທີ່ຂອງວັນທີ, ເວລາ ແລະ ວັນທີ/ເວລາ ທີ່ໃຊ້ໃນເງື່ອນໄຂສາມາດເປັນໄດ້ທັງແບບ SQL Escape Syntax ຫຼື SQL2 syntax ມາດຕະຖານ.

ອົງປະກອບປະເພດວັນທີ | SQL Escape syntax #1 - ອາດຈະລ້າສະໄໝແລ້ວ | SQL Escape syntax #2 | SQL2 syntax
--- | --- | --- | ---
ວັນທີ | {D'YYYY-MM-DD'} | {d 'YYYY-MM-DD'} | 'YYYY-MM-DD'
ເວລາ | {D'HH:MM:SS'} | {t 'HH:MI:SS[.SS]'} | 'HH:MI:SS[.SS]'
ວັນທີເວລາ | {D'YYYY-MM-DD HH:MM:SS'} | {ts 'YYYY-MM-DD HH:MI:SS[.SS]'} | 'YYYY-MM-DD HH:MI:SS[.SS]'

ຕົວຢ່າງ:

    SELECT {d '1999-12-31'} FROM world.years

ຕົວຢ່າງ:

    SELECT * FROM mytable WHERE years='1999-12-31'

ທຸກນິພົດວັນທີ (date literals) ຕ້ອງຢູ່ລະຫວ່າງເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ. (ສຶກສາລາຍລະອຽດເພີ່ມເຕີມຈາກເອກະສານອ້າງອີງຂອງຖານຂໍ້ມູນ ແລະ ຕົວເຊື່ອມຕໍ່ທີ່ທ່ານກຳລັງໃຊ້ຢູ່.)

### ການຄົ້ນຫາເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່

ເພື່ອຄົ້ນຫາເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່, ໃຫ້ໃຊ້ຮູບແບບຕໍ່ໄປນີ້ສຳລັບຕາຕະລາງ dBASE:

ສະຖານະ | ເງື່ອນໄຂຄຳຖາມ | ຕົວຢ່າງ
--- | --- | ---
ແມ່ນ | ສຳລັບຕາຕະລາງ dBASE: ບໍ່ເທົ່າກັບຄ່າໃດໆທີ່ໃຫ້ມາ | =1 ສົ່ງຄືນທຸກລະບຽບຂໍ້ມູນທີ່ເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່ ມີສະຖານະເປັນ "ແມ່ນ" ຫຼື "ເປີດ" (ຖືກເລືອກເປັນສີດຳ),
ບໍ່ | . | =0 ສົ່ງຄືນທຸກລະບຽບຂໍ້ມູນທີ່ເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່ ມີສະຖານະເປັນ "ບໍ່" ຫຼື "ປິດ" (ບໍ່ມີການເລືອກ).
ຫວ່າງ (Null) | IS NULL | IS NULL ສົ່ງຄືນທຸກລະບຽບຂໍ້ມູນທີ່ເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່ ບໍ່ມີສະຖານະທັງ ແມ່ນ ຫຼື ບໍ່ (ຖືກເລືອກເປັນສີເທົາ).

ຮູບແບບຄຳສັ່ງຂຶ້ນກັບລະບົບຖານຂໍ້ມູນທີ່ໃຊ້. ທ່ານຄວນໝາຍເຫດໄວ້ນຳວ່າ ເຂດຂໍ້ມູນ ແມ່ນ/ບໍ່ ສາມາດກຳນົດໄດ້ແຕກຕ່າງກັນ (ບາງທີອາດມີພຽງ 2 ສະຖານະແທນທີ່ຈະເປັນ 3).

### ຄຳຖາມພານາມິເຕີ

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

ຊື່ພານາມິເຕີຈະຖືກນຳໜ້າດ້ວຍເຄື່ອງໝາຍຈ້ຳສອງເມັດ (:) ທັງໃນມຸມມອງການອອກແບບ ແລະ ມຸມມອງ SQL ຂອງຄຳຖາມ. ມັນສາມາດໃຊ້ໄດ້ທຸກບ່ອນທີ່ຄ່າຂໍ້ມູນປາກົດ. ຖ້າຕ້ອງການໃຊ້ຄ່າດຽວກັນຫຼາຍກວ່າໜຶ່ງຄັ້ງໃນຄຳຖາມ, ໃຫ້ໃຊ້ຊື່ພານາມິເຕີດຽວກັນ.

ໃນກໍລະນີທີ່ງ່າຍທີ່ສຸດ, ເມື່ອຜູ້ໃຊ້ປ້ອນຄ່າທີ່ຕ້ອງການໃຫ້ກົງກັນ, ໃຫ້ປ້ອນຊື່ພານາມິເຕີພ້ອມກັບເຄື່ອງໝາຍຈ້ຳສອງເມັດນຳໜ້າລົງໃນແຖວເງື່ອນໄຂ. ໃນ ໂໝດ SQL ໃຫ້ພິມເປັນ WHERE "ເຂດຂໍ້ມູນ" = :ຊື່_ພານາມິເຕີ

ຊື່ພານາມິເຕີຕ້ອງບໍ່ມີຕົວອັກສອນ <space>`!"$%^*()+={}[]@'~#<>?/,. ພວກມັນຕ້ອງບໍ່ຄືກັບຊື່ເຂດຂໍ້ມູນ ຫຼື ຄຳສະເພາະຂອງ SQL ແຕ່ສາມາດຄືກັບນາມແຝງໄດ້.

ວິທີທີ່ເປັນປະໂຫຍດໃນການເລືອກລະບຽບຂໍ້ມູນໂດຍອີງຕາມບາງສ່ວນຂອງເນື້ອໃນໃນເຂດຂໍ້ມູນຂໍ້ຄວາມຄື ການເພີ່ມຖັນທີ່ເຊື່ອງໄວ້ໂດຍມີເງື່ອນໄຂເປັນ "LIKE '%' || :Part_of_field || '%'". ສິ່ງນີ້ຈະເລືອກລະບຽບຂໍ້ມູນທີ່ກົງກັນພໍດີ. ຖ້າຕ້ອງການໃຫ້ຄົ້ນຫາໂດຍບໍ່ແຍກຕົວອັກສອນໃຫຍ່-ນ້ອຍ, ວິທີໜຶ່ງຄືໃຊ້ LOWER (Field_Name) ເປັນເຂດຂໍ້ມູນ ແລະ LIKE LOWER ( '%' || :Part_of_field || '%' ) ເປັນເງື່ອນໄຂ. ໝາຍເຫດວ່າ ບ່ອນວ່າງໃນເງື່ອນໄຂແມ່ນສຳຄັນ; ຖ້າບໍ່ໃສ່ ຕົວແປງ SQL ຈະຕີຄວາມໝາຍເງື່ອນໄຂທັງໝົດເປັນຂໍ້ຄວາມທີ່ຈະໃຫ້ກົງກັນ. ໃນ ໂໝດ SQL ໃຫ້ພິມເປັນ LOWER ( "Field_Name" ) LIKE LOWER ( '%' || :Part_of_field || '%' ).

ຄຳຖາມພານາມິເຕີອາດຖືກໃຊ້ເປັນແຫຼ່ງຂໍ້ມູນສຳລັບ ແບບຟອມຍ່ອຍ, ເພື່ອອະນຸຍາດໃຫ້ຜູ້ໃຊ້ຈຳກັດລະບຽບຂໍ້ມູນທີ່ຈະສະແດງ.

### ການປ້ອນພານາມິເຕີ

ກ່ອງໂຕ້ຕອບ ການປ້ອນພານາມິເຕີ ຈະຖາມໃຫ້ຜູ້ໃຊ້ປ້ອນຄ່າພານາມິເຕີ. ໃຫ້ປ້ອນຄ່າສຳລັບແຕ່ລະພານາມິເຕີຂອງຄຳຖາມ ແລະ ຢືນຢັນໂດຍການຄລິກ ຕົກລົງ ຫຼື ກົດປຸ່ມ Enter.

ຄ່າທີ່ຜູ້ໃຊ້ປ້ອນເຂົ້າອາດປະກອບດ້ວຍຕົວອັກສອນໃດໆທີ່ SQL ອະນຸຍາດສຳລັບເງື່ອນໄຂທີ່ກ່ຽວຂ້ອງ; ສິ່ງນີ້ອາດຂຶ້ນກັບລະບົບຖານຂໍ້ມູນທີ່ໃຊ້ຢູ່.

ຜູ້ໃຊ້ສາມາດໃຊ້ຕົວອັກສອນ wild-card ຂອງ SQL ຄື "%" (ຂໍ້ຄວາມໃດໆ) ຫຼື "_" (ໜຶ່ງຕົວອັກສອນໃດໆ) ເປັນສ່ວນໜຶ່ງຂອງຄ່າເພື່ອດຶງລະບຽບຂໍ້ມູນທີ່ມີເງື່ອນໄຂທີ່ຊັບຊ້ອນກວ່າໄດ້.

## ໂໝດ SQL

SQL ຫຍໍ້າມາຈາກ "Structured Query Language" ແລະ ອະທິບາຍເຖິງຄຳສັ່ງສຳລັບການອັບເດດ ແລະ ການບໍລິຫານຈັດການຖານຂໍ້ມູນທີ່ມີຄວາມສຳພັນ.

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

ທ່ານສາມາດສ້າງຄຳຖາມຂອງທ່ານໃນຮູບແບບລະຫັດ SQL ໂດຍກົງໄດ້. ແນວໃດກໍຕາມ, ໝາຍເຫດວ່າຮູບແບບຄຳສັ່ງພິເສດນັ້ນແມ່ນຂຶ້ນກັບລະບົບຖານຂໍ້ມູນທີ່ທ່ານໃຊ້.

ຖ້າທ່ານປ້ອນລະຫັດ SQL ເອງ, ທ່ານສາມາດສ້າງຄຳຖາມສະເພາະ SQL ທີ່ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ແບບກຣາຟິກໃນ ຕົວອອກແບບຄຳຖາມ ບໍ່ຮອງຮັບໄດ້. ຄຳຖາມເຫຼົ່ານີ້ຕ້ອງຖືກເອີ້ນໃຊ້ໃນໂໝດ native SQL.

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

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!