Access SQL: ส่วนคำสั่ง FROM

บทความนี้เป็นหนึ่งในชุดบทความเกี่ยวกับ 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 ทั้งสองตารางมีเขตข้อมูล CustomerID ที่ระบุถึงลูกค้า แต่ละระเบียนในตาราง 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 table2
ON table1.field1compopr table2.field2

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

ส่วน

คำอธิบาย

table1, table2

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

field1, field2

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

compopr

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

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

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

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

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

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

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

×