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