คำสั่ง SELECT สั่งให้กลไกจัดการฐานข้อมูล Microsoft Access ส่งกลับข้อมูลจากฐานข้อมูลเป็นชุดของระเบียน
ไวยากรณ์
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
คำสั่ง SELECT มีส่วนต่างๆ ดังนี้
ส่วน |
คำอธิบาย |
predicate |
หนึ่งในเพรดิเคตต่อไปนี้: ALL, DISTINCT, DISTINCTROW หรือ TOP คุณสามารถใช้เพรดิเคตเพื่อจํากัดจํานวนระเบียนที่ส่งกลับ ถ้าไม่มีการระบุค่าใดไว้ ค่าเริ่มต้นคือ ALL |
* |
เป็นการระบุว่าทุกเขตข้อมูลของตารางที่ระบุได้ถูกเลือกแล้ว |
table |
ชื่อของตารางที่มีเขตข้อมูลที่มีระเบียนถูกเลือกไว้ |
field1, field2 |
ชื่อของเขตข้อมูลที่มีข้อมูลที่คุณต้องการเรียกใช้ ถ้าคุณใส่มากกว่าหนึ่งเขตข้อมูล เขตข้อมูลเหล่านั้นจะถูกเรียกใช้ตามลําดับที่แสดงอยู่ในรายการ |
alias 1, alias 2 |
ชื่อที่จะใช้เป็นส่วนหัวของคอลัมน์แทนชื่อคอลัมน์เดิมใน table |
tableexpression |
ชื่อของตารางที่มีข้อมูลที่คุณต้องการเรียกใช้ |
externaldatabase |
ชื่อของฐานข้อมูลที่มีตารางต่างๆ ใน tableexpression ถ้าตารางเหล่านั้นไม่ได้อยู่ในฐานข้อมูลปัจจุบัน |
ข้อสังเกต
ในการดำเนินการนี้ กลไกฐานข้อมูล Microsoft Access จะค้นหาตารางที่ระบุ, ดึงคอลัมน์ที่เลือกออกมา, เลือกแถวที่ตรงกับเกณฑ์ แล้วเรียงลำดับหรือจัดกลุ่มแถวผลลัพธ์นั้นให้อยู่ในลำดับที่ต้องการ
คำสั่ง SELECT จะไม่เปลี่ยนข้อมูลในฐานข้อมูล
SELECT มักจะเป็นคําแรกในคําสั่ง SQL คําสั่ง SQL ส่วนใหญ่เป็น SELECT หรือ SELECT... คําสั่ง INTO
ไวยากรณ์ที่มีจำนวนคำน้อยที่สุดสำหรับคำสั่ง SELECT ได้แก่
SELECT fields FROM table
คุณสามารถใช้เครื่องหมายดอกจัน (*) เพื่อเลือกเขตข้อมูลทั้งหมดในตารางได้ ตัวอย่างต่อไปนี้จะเลือกเขตข้อมูลทั้งหมดในตาราง Employees:
SELECT * FROM Employees;
ถ้าชื่อเขตข้อมูลถูกรวมไว้ในตารางมากกว่าหนึ่งตารางในส่วนคําสั่ง FROM ให้นําหน้าด้วยชื่อตารางและ ตัวดําเนินการ (จุด) ในตัวอย่างต่อไปนี้ เขตข้อมูล แผนก อยู่ในทั้งตาราง พนักงาน และตาราง หัวหน้างาน คําสั่ง SQL จะเลือกแผนกจากตารางพนักงานและชื่อหัวหน้างานจากตาราง ผู้ควบคุมงาน:
SELECT Employees.Department, Supervisors.SupvName FROM Employees INNER JOIN Supervisors WHERE Employees.Department = Supervisors.Department;
เมื่อวัตถุ Recordset ถูกสร้างขึ้น กลไกจัดการฐานข้อมูล Microsoft Access จะใช้ชื่อเขตข้อมูลของตารางเป็นชื่อวัตถุ Field ในวัตถุ Recordset ถ้าคุณต้องการชื่อเขตข้อมูลที่ต่างกันหรือชื่อที่นิพจน์ใช้ในการสร้างเขตข้อมูล ให้ใช้ คำสงวน AS ตัวอย่างต่อไปนี้ใช้ชื่อเรื่อง Birth เพื่อตั้งชื่อวัตถุ Field ที่ส่งกลับในวัตถุ Recordset ที่เป็นผลลัพธ์:
SELECT BirthDate AS Birth FROM Employees;
เมื่อใดก็ตามที่คุณใช้ฟังก์ชันการรวมหรือคิวรีที่ส่งกลับชื่อวัตถุ Field ที่กํากวมหรือซ้ํากัน คุณต้องใช้ส่วนคําสั่ง AS เพื่อให้ชื่ออื่นสําหรับวัตถุ Field ตัวอย่างต่อไปนี้ใช้ชื่อเรื่อง HeadCount เพื่อตั้งชื่อวัตถุ Field ที่ส่งกลับในวัตถุ Recordset ที่เป็นผลลัพธ์:
SELECT COUNT(EmployeeID) AS HeadCount FROM Employees;
คุณสามารถใช้ส่วนคําสั่งอื่นในคําสั่ง SELECT เพื่อจํากัดและจัดระเบียบข้อมูลที่ส่งกลับของคุณเพิ่มเติม สําหรับข้อมูลเพิ่มเติม ให้ดูที่หัวข้อวิธีใช้สําหรับส่วนคําสั่งที่คุณกําลังใช้อยู่