Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

ในคําสั่ง SELECT ให้คุณระบุแหล่งข้อมูลในส่วนคําสั่ง FROM ส่วนคําสั่ง FROM อาจมีการดําเนินการ JOIN ด้วย คุณใช้การดําเนินการ JOIN เพื่อจับคู่และรวมข้อมูลจากสองแหล่งข้อมูล เช่น สองตาราง หรือตารางและคิวรี

สำหรับภาพรวมของ Access SQL ให้ดูบทความ Access SQL: แนวคิดพื้นฐาน คำศัพท์ และไวยากรณ์

ในบทความนี้

ระบุแหล่งข้อมูล

ในคำสั่ง SELECT ส่วนคำสั่ง FROM จะระบุตารางหรือคิวรีที่มีข้อมูลที่จะใช้ในส่วนคำสั่ง SELECT

สมมติว่าคุณต้องการทราบหมายเลขโทรศัพท์ของลูกค้าเฉพาะราย สมมติว่าตารางที่มีเขตข้อมูลที่จัดเก็บข้อมูลนี้เรียกว่า tblCustomer ส่วนคําสั่ง FROM จะมีลักษณะดังต่อไปนี้:

FROM tblCustomer

คุณสามารถใช้วงเล็บเหลี่ยมเพื่อล้อมรอบชื่อได้ ถ้าชื่อไม่มีช่องว่างหรืออักขระพิเศษใดๆ (เช่น เครื่องหมายวรรคตอน) วงเล็บเหลี่ยมจะใส่หรือไม่ก็ได้ ถ้าชื่อมีช่องว่างหรืออักขระพิเศษ คุณต้องใช้วงเล็บเหลี่ยม

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

ใช้ชื่อแทนสำหรับแหล่งข้อมูล

คุณสามารถใช้ชื่ออื่นเพื่ออ้างอิงถึงตารางในคําสั่ง SELECT โดยใช้นามแฝงของตารางในส่วนคําสั่ง FROM ของคุณ นามแฝงของตารางคือชื่อที่คุณกําหนดให้กับแหล่งข้อมูลในคิวรีเมื่อคุณใช้นิพจน์เป็นแหล่งข้อมูล หรือเพื่อทําให้คําสั่ง SQL พิมพ์และอ่านได้ง่ายขึ้น ซึ่งจะเป็นประโยชน์โดยเฉพาะอย่างยิ่งถ้าชื่อของแหล่งข้อมูลยาวหรือพิมพ์ได้ยาก โดยเฉพาะอย่างยิ่งเมื่อมีหลายเขตข้อมูลที่มีชื่อเดียวกันจากตารางต่างๆ

ตัวอย่างเช่น ถ้าคุณต้องการเลือกข้อมูลจากสองเขตข้อมูล ซึ่งทั้งสองรายการมีชื่อว่า ID โดยเขตข้อมูลหนึ่งมาจากตาราง tblCustomer และอีกเขตข้อมูลหนึ่งมาจากตาราง tblOrder ส่วนคำสั่ง SELECT ของคุณอาจมีลักษณะดังต่อไปนี้:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

ด้วยการใช้นามแฝงของตารางในส่วนคําสั่ง FROM คุณสามารถทําให้คิวรีพิมพ์ได้ง่ายขึ้น ส่วนคําสั่ง FROM ของคุณที่มีนามแฝงของตารางอาจมีลักษณะดังต่อไปนี้:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

จากนั้น คุณสามารถนำนามแฝงของตารางเหล่านั้นมาใช้ในส่วนคำสั่ง SELECT ของคุณได้ โดยมีลักษณะดังต่อไปนี้

SELECT [C].[ID], [O].[ID]

หมายเหตุ: เมื่อคุณใช้นามแฝงของตาราง คุณสามารถอ้างอิงตารางในคำสั่ง SQL ของคุณได้โดยใช้นามแฝงนี้หรือใช้ชื่อเต็มของตารางนั้น

รวมข้อมูลที่เกี่ยวข้อง

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

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

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

ตัวอย่างเช่น สมมติว่าคุณต้องการใช้ข้อมูลจากสองตารางในคิวรี: tblCustomer และ tblOrder ทั้งสองตารางมีเขตข้อมูลรหัสลูกค้าที่ระบุถึงลูกค้า แต่ละระเบียนในตาราง tblCustomer อาจมีระเบียนที่สอดคล้องกันอย่างน้อยหนึ่งระเบียนในตาราง tblOrder และค่าที่สอดคล้องกันสามารถถูกกําหนดด้วยค่าในเขตข้อมูล CustomerID

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

FROM [tblCustomer] INNER JOIN [tblOrder] ON [tblCustomer].[CustomerID]=[tblOrder].[CustomerID]

ใน Access การรวมจะเกิดขึ้นในส่วนคําสั่ง FROM ของคําสั่ง SELECT การรวมมีอยู่สองชนิด คือ การรวมภายในและการรวมภายนอก ส่วนต่อไปนี้จะอธิบายการรวมสองชนิดนี้

การรวมภายใน

การรวมภายในเป็นชนิดการรวมที่ใช้กันทั่วไปมากที่สุด เมื่อคิวรีที่มีการรวมภายในถูกเรียกใช้ เฉพาะระเบียนที่รวมอยู่ในผลลัพธ์คิวรีเท่านั้นคือระเบียนที่มีค่าร่วมอยู่ในทั้งสองตารางที่รวมกัน

การรวมภายในมีไวยากรณ์ดังต่อไปนี้ (เพิ่มตัวแบ่งบรรทัดเพื่อให้อ่านได้ง่าย):

FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

ตารางต่อไปนี้อธิบายถึงส่วนต่างๆ ของการดำเนินการ INNER JOIN

ส่วน

คำอธิบาย

table1, table2

ชื่อของตารางที่ระเบียนถูกรวม

field1, field2

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

compopr

ตัวดำเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ ได้แก่ "=", "<", ">", "<=", ">=" หรือ "<>"

การรวมภายนอก

การรวมภายนอกจะคล้ายกับการรวมภายใน เนื่องจากการรวมนั้นจะบอกคิวรีถึงวิธีการรวมข้อมูลจากสองแหล่งข้อมูล ค่าเหล่านี้จะแตกต่างกันเนื่องจากจะระบุว่าจะรวมข้อมูลที่ไม่มีค่าร่วมอยู่ด้วยหรือไม่ การรวมภายนอกเป็นแบบกําหนดทิศทาง คุณสามารถระบุว่าจะรวมระเบียนทั้งหมดจากแหล่งข้อมูลแรกที่ระบุในการรวม (เรียกว่าการรวมด้านซ้าย) หรือรวมระเบียนทั้งหมดจากแหล่งข้อมูลที่สองในการรวม (เรียกว่าการรวมด้านขวา)

การรวมภายนอกมีไวยากรณ์ดังต่อไปนี้:

FROM table1 [ LEFT | RIGHT ] JOIN table2ON table1.field1compopr table2.field2

ตารางต่อไปนี้อธิบายถึงส่วนต่างๆ ของการดำเนินการ LEFT JOIN และ RIGHT JOIN

ส่วน

คำอธิบาย

table1, table2

ชื่อของตารางที่ระเบียนถูกรวม

field1, field2

ชื่อของเขตข้อมูลที่รวมกัน เขตข้อมูลจะต้องเป็น ชนิดข้อมูล เดียวกันและมีข้อมูลชนิดเดียวกัน แต่ไม่จําเป็นต้องมีชื่อเดียวกัน

compopr

ตัวดำเนินการเปรียบเทียบเชิงสัมพันธ์ใดๆ ได้แก่ "=," "<," ">," "<=," ">=," หรือ "<>"

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

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

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย