การเข้าถึง SQL: ส่วนคำสั่ง SELECT

นำไปใช้กับ
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

ในบทความนี้

เลือกเขตข้อมูล: ส่วนคำสั่ง SELECT

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

สมมติว่าคุณต้องการทราบหมายเลขโทรศัพท์ของลูกค้าของคุณ ถ้าเขตข้อมูลที่จัดเก็บตัวเลขเหล่านั้นมีชื่อว่า txtCustomerPhoneSELECT ส่วนคําสั่งจะมีลักษณะดังนี้

SELECT [txtCustomerPhone]

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

เคล็ดลับ

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

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

เลือกเขตข้อมูลทั้งหมด

เมื่อคุณต้องการรวมเขตข้อมูลทั้งหมดจากแหล่งข้อมูล คุณสามารถแสดงรายการทีละเขตข้อมูลในส่วน SELECT คําสั่ง หรือใช้อักขระตัวแทนเครื่องหมายดอกจัน (*) เมื่อคุณใช้เครื่องหมายดอกจัน Access จะกําหนดว่าเขตข้อมูลใดที่แหล่งข้อมูลนั้นมีเมื่อเรียกใช้คิวรีและรวมเขตข้อมูลเหล่านั้นไว้ทั้งหมด ซึ่งช่วยให้คิวรีอัปเดตอยู่เสมอเมื่อมีการเพิ่มเขตข้อมูลใหม่ไปยังแหล่งข้อมูล

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

ตัวอย่างเช่น สมมติว่าคุณต้องการเลือกเขตข้อมูลทั้งหมดจาก Orders ตาราง แต่ต้องการเลือกเฉพาะที่อยู่อีเมลจาก Contacts ตารางเท่านั้น ส่วนคําสั่งของคุณ SELECT อาจมีลักษณะดังนี้:

SELECT Orders.*, Contacts.[E-mail Address]

หมายเหตุ

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

เลือกค่าที่ไม่ซ้ำกัน

ถ้าคุณทราบว่าคําสั่งของคุณจะส่งกลับข้อมูลที่ซ้ํากันและคุณต้องการดูเฉพาะค่าที่แตกต่างกัน ให้ใช้DISTINCTคําสําคัญในส่วนคําสั่งของคุณSELECT ตัวอย่างเช่น ถ้าความสนใจของลูกค้าบางรายใช้หมายเลขโทรศัพท์ DISTINCT เดียวกัน ให้ตรวจสอบให้แน่ใจว่าคุณเห็นหมายเลขโทรศัพท์แต่ละหมายเลขเพียงครั้งเดียวเท่านั้น:

SELECT DISTINCT [txtCustomerPhone]

ใช้ชื่อทดแทนสำหรับเขตข้อมูลหรือนิพจน์: คำสำคัญ AS

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

SELECT [txtCustPhone] AS [Customer Phone]

หมายเหตุ

คุณต้องใช้นามแฝงของเขตข้อมูลเมื่อคุณใช้นิพจน์ในส่วน SELECT คําสั่ง

เลือกโดยใช้นิพจน์

บางครั้งคุณอาจต้องการดูการคํานวณโดยยึดตามข้อมูลของคุณหรือส่งกลับเฉพาะบางส่วนของค่าของเขตข้อมูล ตัวอย่างเช่น สมมติว่าคุณต้องการส่งกลับปีที่ลูกค้าเกิดโดยยึดตามข้อมูลใน BirthDate เขตข้อมูล ส่วนคําสั่งของคุณ SELECT อาจมีลักษณะดังนี้:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

นิพจน์นี้ใช้ฟังก์ชัน DatePart และสองอาร์กิวเมนต์ คือ "yyyy" (ค่าคงที่) และ [BirthDate] (ตัวระบุ)

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

กลับสู่ด้านบน