นี่คือหนึ่งในชุดบทความเกี่ยวกับ 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

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

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

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

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

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

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

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