SQL ของ access: แนวคิดพื้นฐาน คำศัพท์ และไวยากรณ์

SQL ของ access: แนวคิดพื้นฐาน คำศัพท์ และไวยากรณ์

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

เมื่อคุณต้องการเรียกใช้ข้อมูลจากฐานข้อมูล คุณขอข้อมูล โดยใช้ Structured Query Language หรือ SQL SQL คือ ภาษาคอมพิวเตอร์ที่คล้ายคลึงกับอังกฤษอย่างใกล้ชิด แต่ ที่ทำความเข้าใจเกี่ยวกับโปรแกรมฐานข้อมูล ทุกคิวรีที่คุณเรียกใช้ SQL เบื้อง

ทำความเข้าใจเกี่ยวกับวิธีการทำงานของ SQL สามารถช่วยให้คุณสร้างแบบสอบถามที่ดียิ่งขึ้น และสามารถทำได้ง่ายขึ้นเพื่อให้คุณสามารถทำความเข้าใจวิธีการแก้ไขแบบสอบถามที่จะส่งกลับผลลัพธ์ที่คุณต้องการ

นี่คือข้อมูลหนึ่งชุดของบทความเกี่ยวกับ SQL ของ Access บทความนี้อธิบายถึงการใช้ SQL เพื่อเลือกข้อมูลพื้นฐาน และใช้ตัวอย่างเพื่อแสดงตัวอย่างไวยากรณ์ SQL

ในบทความนี้

SQL คืออะไร

ส่วนคำสั่ง SQL พื้นฐาน: เลือก จาก และที่

เรียงลำดับผลลัพธ์: ตามลำดับ

การทำงานกับข้อมูลสรุป: จัดกลุ่มตามและ HAVING

รวมผลลัพธ์ของคิวรี: UNION

SQL คืออะไร

SQL คือ ภาษาสำหรับการทำงานกับชุดข้อเท็จจริงกับความสัมพันธ์ระหว่างคอมพิวเตอร์ โปรแกรมฐานข้อมูลเชิงสัมพันธ์ เช่น Microsoft Office Access ใช้ SQL เพื่อทำงานกับข้อมูล ไม่เหมือนกับภาษาคอมพิวเตอร์หลาย SQL ไม่ได้ยากต่อการอ่าน และทำความเข้าใจ เกี่ยวกับ แม้แต่เป็นผู้เริ่ม เช่นภาษาคอมพิวเตอร์หลาย SQL เป็นมาตรฐานนานาชาติที่เนื้อหามาตรฐานเช่นISOและANSIรู้จัก

คุณสามารถใช้ SQL เพื่ออธิบายความหมายชุดของข้อมูลที่สามารถช่วยคุณตอบคำถาม เมื่อคุณใช้ SQL คุณต้องใช้ไวยากรณ์ที่ถูกต้อง ไวยากรณ์คือ ชุดของกฎที่องค์ประกอบของภาษาจะไม่ถูกต้องถูกรวม ไวยากรณ์ SQL โดยยึดตามไวยากรณ์ภาษาอังกฤษ และองค์ประกอบเดียวกันจำนวนมากใช้เป็น Visual Basic for Applications (VBA) ไวยากรณ์

ตัวอย่างเช่น คำสั่ง SQL อย่างง่ายที่ดึงรายการของนามสกุลสำหรับที่ติดต่อที่มีชื่อถูก Mary อาจมีลักษณะคล้ายนี้:

SELECT Last_Name
FROM Contacts
WHERE First_Name = 'Mary';

หมายเหตุ: SQL จะไม่ถูกใช้เฉพาะ สำหรับการจัดการข้อมูล แต่ยัง สำหรับการสร้าง และการเปลี่ยนแปลงการออกแบบของวัตถุฐานข้อมูล เช่นตาราง ส่วนของ SQL ที่ใช้สำหรับการสร้าง และการเปลี่ยนแปลงวัตถุฐานข้อมูลจะเรียกว่าข้อกำหนดข้อมูลภาษา (DDL) หัวข้อนี้ครอบคลุม DDL สำหรับข้อมูลเพิ่มเติม ให้ดูบทความสร้าง หรือปรับเปลี่ยนตารางหรือดัชนี โดยใช้แบบสอบถามข้อมูลความละเอียด

คำสั่งที่เลือก

เมื่อต้องการอธิบายชุดของข้อมูล โดยใช้ SQL คุณเขียนคำสั่ง select คำสั่ง select ประกอบด้วยคำอธิบายที่สมบูรณ์ของชุดข้อมูลที่คุณต้องการรับจากฐานข้อมูล ซึ่งรวมถึงต่อไปนี้:

  • ตารางประกอบด้วยข้อมูล

  • ฉันข้อมูลจากแหล่งข้อมูลอื่นเป็นที่สัมพันธ์กัน

  • เขตข้อมูลหรือการคำนวณที่จะทำให้ข้อมูล

  • เกณฑ์ที่ต้องการให้ตรงกับข้อมูลจะรวม

  • ว่า และวิธีการเรียงลำดับผลลัพธ์

ส่วนคำสั่ง SQL

เช่นประโยค คำสั่ง SQL ที่มีส่วนของประโยค แต่ละคำสั่งดำเนินการฟังก์ชันสำหรับคำสั่ง SQL ส่วนคำสั่งบางอย่างจำเป็นในคำสั่ง select ตารางต่อไปนี้แสดงรายการส่วนคำสั่ง SQL โดยทั่วไป

ส่วนคำสั่ง SQL

หน้าที่

จำเป็น

SELECT

แสดงเขตข้อมูลที่มีข้อมูลที่สนใจ

ใช่

FROM

แสดงตารางที่มีเขตข้อมูลที่ปรากฏอยู่ในส่วนคำสั่ง SELECT

ใช่

WHERE

ระบุเกณฑ์เขตข้อมูลที่ใช้เลือกระเบียนที่จะรวมอยู่ในผลลัพธ์

ไม่ใช่

ORDER BY

ระบุวิธีเรียงลำดับผลลัพธ์

ไม่ใช่

GROUP BY

ในคำสั่ง SQL ที่มีฟังก์ชันการรวม จะแสดงเขตข้อมูลที่ไม่ถูกสรุปรวมอยู่ในส่วนคำสั่ง SELECT

เฉพาะเมื่อมีเขตข้อมูลเหล่านี้เท่านั้น

HAVING

ในคำสั่ง SQL ที่มีฟังก์ชันการรวม จะระบุเกณฑ์ซึ่งใช้กับเขตข้อมูลที่ถูกสรุปรวมอยู่ในคำสั่ง SELECT

ไม่ใช่

ข้อกำหนดของ SQL

แต่ละส่วนคำสั่ง SQL ประกอบด้วยคำ — เทียบได้กับส่วนของประโยค ตารางต่อไปนี้แสดงรายการชนิดของเงื่อนไข SQL

คำที่ใช้ใน SQL

ส่วนของประโยคที่เทียบเคียงได้

คำจำกัดความ

ตัวอย่าง

ตัวระบุ

นาม

ชื่อที่คุณใช้เพื่อระบุวัตถุฐานข้อมูล เช่นชื่อของเขตข้อมูล

ลูกค้า [หมายเลขโทรศัพท์]

ตัวดำเนินการ

กริยาหรือ adverb

คำสำคัญที่แทนการกระทำหรือปรับเปลี่ยนการกระทำ

AS

ค่าคงที่

นาม

ค่าที่ไม่เปลี่ยนแปลง เช่น ตัวเลข หรือค่า NULL

42

นิพจน์

คุณศัพท์

การผสมรวมตัวระบุ ตัวดำเนินการ ค่าคงที่ และฟังก์ชันเข้าด้วยกันเพื่อนำมาประเมินให้ได้ค่าค่าเดียว

>= Products.[Unit Price]

ด้านบนของหน้า

ส่วนคำสั่ง SQL พื้นฐาน: เลือก จาก และที่

คำสั่ง SQL นำรูปแบบทั่วไป:

SELECT field_1
FROM table_1
WHERE criterion_1
;

หมายเหตุ: 

  • Access ละเว้นตัวแบ่งบรรทัดในคำสั่ง SQL อย่างไรก็ตาม ให้พิจารณาใช้บรรทัดสำหรับแต่ละคำสั่งเพื่อช่วยปรับปรุงการอ่านของคำสั่ง SQL ของคุณสำหรับตัวคุณเองและผู้อื่น

  • ทุกคำสั่ง select ที่ลงท้าย ด้วยเครื่องหมายอัฒภาค () เครื่องหมายอัฒภาคสามารถปรากฏที่ส่วนท้าย ของส่วนคำสั่งสุดท้าย หรือ บนบรรทัด ด้วยตัวเองที่ส่วนท้ายของคำสั่ง SQL

ตัวอย่างใน Access

ต่อไปนี้แสดงให้เห็นว่าคำสั่ง SQL สำหรับคิวรีอย่างง่ายเลือกอาจมีลักษณะอย่างไรใน Access:

แท็บวัตถุ SQL ที่แสดงคำสั่ง SELECT

1. คำสั่ง select

2. จากคำสั่ง from

3 ส่วนคำสั่ง WHERE

ตัวอย่างนี้คำสั่ง SQL อ่าน "เลือกข้อมูลที่ถูกเก็บไว้ในเขตข้อมูลมีชื่อที่อยู่อีเมลและ บริษัทจากตารางมีชื่อที่ติดต่อ มอบเหล่านั้นระเบียนที่ค่าของเขตข้อมูลเมือง ซีแอตเทิล"

เรามาดูที่ตัวอย่าง อนุประโยคหนึ่งครั้ง เพื่อดูวิธีการทำงานของไวยากรณ์ SQL

คำสั่ง select

SELECT [E-mail Address], Company

นี่คือคำสั่ง select จะประกอบด้วยตัวดำเนิน (เลือก) แล้วตาม ด้วยตัวบ่งชี้ที่สอง ([ที่อยู่อีเม] และ Company)

ถ้ารหัสประกอบด้วยช่องว่างหรืออักขระพิเศษ (เช่น "ที่อยู่อีเมล"), จะต้องอยู่ภายในวงเล็บเหลี่ยม

คำสั่ง select ไม่จำเป็นต้องระบุว่า ตารางใดที่ประกอบด้วยเขตข้อมูล และจะไม่สามารถระบุเงื่อนไขใด ๆ ที่ต้องตรงตามข้อมูลจะถูกรวมไว้

คำสั่ง select ปรากฏด้านหน้าของคำสั่ง from ในคำสั่ง select เสมอ

คำสั่ง from

FROM Contacts

นี่คือคำสั่ง from จะประกอบด้วยตัวดำเนิน (จาก) แล้วตาม ด้วยตัวระบุ (ที่ติดต่อ)

คำสั่ง from รายการเขตข้อมูลที่จะถูกเลือกไว้

คำสั่ง where

WHERE City="Seattle"

นี่คือคำสั่ง where จะประกอบด้วยตัวดำเนินการ (ในกรณี) แล้วตาม ด้วยนิพจน์ (เมือง = "Seattle")

หมายเหตุ: ไม่เหมือน กับเลือก และ จากส่วนของประโยค คำสั่ง where จะไม่จำเป็นต้องมีองค์ประกอบที่ของคำสั่ง select

คุณสามารถทำแอคชันที่ช่วยให้คุณสามารถทำได้ โดยใช้ SQL จำนวนมากเลือก จาก และส่วนของประโยคได้ ข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่คุณใช้ส่วนคำสั่งเหล่านี้จะแสดงในบทความเพิ่มเติมเหล่านี้:

ด้านบนของหน้า

เรียงลำดับผลลัพธ์: ตามลำดับ

เช่นเดียวกับ Microsoft Excel, Access ช่วยให้คุณสามารถเรียงลำดับผลลัพธ์ของคิวรีในแผ่นข้อมูล คุณสามารถระบุในแบบสอบถามวิธีที่คุณต้องการเรียงลำดับผลลัพธ์เมื่อคิวรีรัน โดยใช้การเรียงลำดับด้วย ถ้าคุณใช้เรียงลำดับ มีส่วนคำสั่งสุดท้ายในคำสั่ง SQL

เรียงลำดับประกอบด้วยรายการของเขตข้อมูลที่คุณต้องการใช้สำหรับการเรียงลำดับ ในลำดับเดียวกับที่คุณต้องการนำการดำเนินการเรียงลำดับ

ตัวอย่างเช่น สมมติว่า คุณต้องการให้ผลลัพธ์ของการเรียงลำดับก่อนตามค่าของเขตข้อมูลบริษัทเรียงลำดับ และนั่นคือถ้ามีระเบียนที่ มีค่าเดียวกันสำหรับบริษัทนั่นคือการเรียงลำดับถัดไป ด้วยค่าในเขตข้อมูลที่อยู่อีเมลในการเรียงลำดับ การเรียงลำดับจะมีลักษณะต่อไปนี้:

ORDER BY Company DESC, [E-mail Address]

หมายเหตุ: ตามค่าเริ่มต้น Access เรียงลำดับค่าในการเรียงลำดับ (A-z น้อยที่สุดไปหามากที่สุด) ใช้คำสำคัญ DESC เพื่อเรียงลำดับค่าในการเรียงลำดับแทน

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเรียงลำดับ ดูหัวข้อการเรียงลำดับ

ด้านบนของหน้า

การทำงานกับข้อมูลสรุป: จัดกลุ่มตามและ HAVING

ในบางครั้งคุณต้องการทำงานกับข้อมูลสรุป เช่นยอดขายในเดือน หรือรายการมีราคาแพงมากที่สุดในสินค้าคงคลัง เมื่อต้องการทำเช่นนี้ คุณฟังก์ชันการรวม การนำไปใช้กับเขตข้อมูลในคำสั่ง select ของคุณ ตัวอย่างเช่น ถ้าคุณต้องการให้คิวรีของคุณเพื่อแสดงการนับจำนวนของที่อยู่อีเมลที่แสดงรายการสำหรับแต่ละบริษัท คำสั่ง select ของคุณอาจมีลักษณะต่อไปนี้:

SELECT COUNT([E-mail Address]), Company

ฟังก์ชันการรวมที่คุณสามารถใช้ขึ้นอยู่กับชนิดของข้อมูลที่อยู่ในเขตข้อมูลหรือนิพจน์ที่คุณต้องการใช้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชันการรวมที่พร้อมใช้งาน ดูบทความฟังก์ชันการรวม SQL

ระบุเขตข้อมูลที่ไม่ถูกใช้ในฟังก์ชันการรวม: การสั่ง GROUP by

เมื่อคุณใช้ฟังก์ชันการรวม คุณมักจะต้องสร้างการสั่ง GROUP by การสั่ง GROUP by แสดงรายการเขตข้อมูลทั้งหมดที่คุณไม่มีใช้ฟังก์ชันการรวม ถ้าคุณใช้ฟังก์ชันการรวมกับเขตข้อมูลทั้งหมดในแบบสอบถาม คุณไม่จำเป็นต้องสร้างส่วนคำสั่ง GROUP BY

การสั่ง GROUP by ทันทีต่อท้ายคำสั่ง where หรือคำสั่ง from ถ้ามีไม่มีคำสั่ง where การสั่ง GROUP by แสดงรายการเขตข้อมูลปรากฏในคำสั่ง select

ตัวอย่างเช่น ดำเนินการต่อตัวอย่างก่อนหน้านี้ ถ้าคำสั่ง select ใช้ฟังก์ชันการรวม [ที่อยู่อีเมล] แต่ไม่ใช่ กับ บริษัท ของคุณสั่ง GROUP by จะมีลักษณะดังนี้:

GROUP BY Company

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับส่วนคำสั่ง GROUP BY ดูหัวข้อกลุ่มโดยส่วนคำสั่ง

การจำกัดค่ารวม โดยใช้เกณฑ์กลุ่ม: คำสั่ง having

ถ้าคุณต้องการใช้เกณฑ์เพื่อจำกัดผลลัพธ์ของคุณ แต่เขตข้อมูลที่คุณต้องการนำเกณฑ์ไปใช้ในฟังก์ชันการรวม คุณไม่สามารถใช้คำสั่ง where แทน คุณใช้คำสั่ง having ส่วนคำสั่ง HAVING ทำงานเช่นคำสั่ง where แต่จะใช้สำหรับข้อมูลที่รวบรวม

ตัวอย่าง สมมติว่า คุณใช้ฟังก์ชัน AVG (ซึ่งคำนวณค่าเฉลี่ย) กับเขตข้อมูลแรกในคำสั่ง select ของคุณ:

SELECT COUNT([E-mail Address]), Company

ถ้าคุณต้องการให้คิวรีเพื่อจำกัดผลลัพธ์ไว้โดยยึดตามค่าของฟังก์ชันที่นับ คุณไม่สามารถใช้เป็นเกณฑ์สำหรับเขตข้อมูลนั้นในคำสั่ง where แทน คุณใส่เกณฑ์ในส่วนคำสั่ง HAVING ตัวอย่างเช่น ถ้าคุณต้องคิวรีเพื่อส่งกลับแถวถ้ามีมากกว่าที่อยู่อีเมหนึ่งที่เกี่ยวข้องกับบริษัท ส่วนคำสั่ง HAVING อาจมีลักษณะต่อไปนี้:

HAVING COUNT([E-mail Address])>1

หมายเหตุ: คิวรีสามารถมีคำสั่ง where และส่วนคำสั่ง HAVING — เกณฑ์สำหรับเขตข้อมูลที่ไม่ถูกใช้ในฟังก์ชันการรวมเข้าคำสั่ง where และเกณฑ์สำหรับเขตข้อมูลที่ใช้กับฟังก์ชันการรวมในส่วนคำสั่ง HAVING ได้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง having ดูหัวข้อมีคำสั่ง

ด้านบนของหน้า

รวมผลลัพธ์ของคิวรี: UNION

เมื่อคุณต้องการตรวจทานข้อมูลทั้งหมดที่จะส่งกลับ โดยแบบสอบถามเลือกที่คล้ายกันหลายไว้ด้วยกัน เป็นชุดรวม คุณใช้ตัวดำเนินการ UNION

ตัวดำเนินการ UNION ช่วยให้คุณสามารถรวมสองสั่ง select ลงในหนึ่ง คำสั่ง select ที่คุณรวมต้องมีจำนวนเขตข้อมูลผลลัพธ์ เดียวกัน ในลำดับเดียวกัน และที่ มีชนิดข้อมูลเดียวกัน หรือเข้ากันได้ เมื่อคุณเรียกใช้แบบสอบถาม ข้อมูลจากแต่ละชุดของเขตข้อมูลที่สอดคล้องกันจะถูกรวมลงในเขตข้อมูลผลลัพธ์หนึ่ง เพื่อให้ผลลัพธ์ของคิวรีมีจำนวนเขตข้อมูลเป็นแต่ละรายการของคำสั่ง select เดียวกัน

หมายเหตุ: ในการสร้างคิวรีแบบร่วมนี้ ตัวเลขและข้อความจะถือว่าเป็นชนิดข้อมูลที่เข้ากันได้

เมื่อคุณใช้ตัวดำเนินการ UNION คุณยังสามารถระบุว่า ผลลัพธ์ของคิวรีควรรวมแถวที่ซ้ำกัน ถ้ามี โดยใช้คำสำคัญทั้งหมด

พื้นฐานไวยากรณ์ SQL สำหรับคิวรีแบบร่วมที่รวมสองสั่ง select จะเป็นดังนี้:

SELECT field_1
FROM table_1
UNION [ALL]
SELECT field_a
FROM table_a
;

ตัวอย่างเช่น สมมติว่า คุณมีตารางที่ชื่อผลิตภัณฑ์และบริการที่มีชื่อตารางอื่น ตารางทั้งสองมีเขตข้อมูลที่ประกอบด้วยชื่อของผลิตภัณฑ์หรือบริการ ราคา การรับประกัน หรือความพร้อมใช้งาน รับประกัน และว่าคุณเสนอผลิตภัณฑ์ หรือบริการแบบเอกสิทธิ์เฉพาะบุคคล ถึงแม้ว่าตารางผลิตภัณฑ์เก็บรายละเอียดการรับประกัน และข้อมูลรับประกันร้านค้าในตารางบริการ ข้อมูลพื้นฐานจะเหมือนกับที่ (ว่าผลิตภัณฑ์ใดหรือบริการมีสัญญาคุณภาพ) คุณสามารถใช้คิวรีแบบร่วม เช่นต่อไปนี้ เพื่อรวมสี่เขตข้อมูลจากตารางสอง:

SELECT name, price, warranty_available, exclusive_offer
FROM Products
UNION ALL
SELECT name, price, guarantee_available, exclusive_offer
FROM Services
;

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการรวมคำสั่งที่เลือก โดยใช้ตัวดำเนินการ UNION ดูรวมผลลัพธ์ของแบบสอบถามหลายเลือกโดยใช้คิวรีแบบร่วม

ด้านบนของหน้า

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×