บทความนี้เป็นส่วนหนึ่งของชุดเกี่ยวกับ Access SQL ซึ่งอธิบายวิธีการเขียน SELECT ส่วนคําสั่งและแสดงตัวอย่างเทคนิคที่คุณสามารถใช้ได้
สำหรับภาพรวมของ Access SQL ให้ดูบทความ Access SQL: แนวคิดพื้นฐาน คำศัพท์ และไวยากรณ์
ในบทความนี้
- เลือกเขตข้อมูล: ส่วนคำสั่ง SELECT
- เลือกเขตข้อมูลทั้งหมด
- เลือกค่าที่ไม่ซ้ำกัน
- ใช้ชื่อทดแทนสำหรับเขตข้อมูลหรือนิพจน์: คำสำคัญ AS
- เลือกโดยใช้นิพจน์
เลือกเขตข้อมูล: ส่วนคำสั่ง 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] (ตัวระบุ)
คุณสามารถใช้นิพจน์ที่ถูกต้องใดๆ เป็นเขตข้อมูลได้ ถ้านิพจน์นั้นส่งกลับค่าเดียวสําหรับค่าป้อนเข้าค่าเดียว