นี่คือหนึ่งในชุดบทความเกี่ยวกับ Access SQL บทความนี้จะอธิบายวิธีการเขียนส่วนคําสั่ง SELECT และใช้ตัวอย่างในการแสดงเทคนิคต่างๆ ที่คุณสามารถใช้ได้เมื่อคุณเขียน
สำหรับภาพรวมของการเข้าถึง SQL ให้ดูบทความ การเข้าถึง SQL: แนวคิดพื้นฐาน คำศัพท์ และไวยากรณ์
ในบทความนี้
เลือกเขตข้อมูล: ส่วนคำสั่ง SELECT
คําสั่ง SELECT มักจะเริ่มต้นด้วยส่วนคําสั่ง SELECT คุณสามารถใช้ส่วนคําสั่ง SELECT เพื่อระบุชื่อของเขตข้อมูลที่มีข้อมูลที่คุณต้องการใช้ในคิวรี คุณยังสามารถใช้นิพจน์แทนหรือนอกเหนือจากเขตข้อมูลได้ คุณยังสามารถใช้คําสั่ง SELECT อื่นเป็นเขตข้อมูลได้ ซึ่งเรียกว่าคิวรีย่อย
สมมติว่าคุณต้องการทราบหมายเลขโทรศัพท์ของลูกค้าของคุณ สมมติว่าเขตข้อมูลที่จัดเก็บหมายเลขโทรศัพท์ของลูกค้าเรียกว่า txtCustPhone ส่วนคําสั่ง SELECT จะปรากฏดังนี้:
SELECT [txtCustomerPhone]
คุณสามารถใช้วงเล็บเหลี่ยมเพื่อล้อมรอบชื่อได้ ถ้าชื่อไม่มีช่องว่างหรืออักขระพิเศษใดๆ (เช่น เครื่องหมายวรรคตอน) วงเล็บเหลี่ยมจะใส่หรือไม่ก็ได้ ถ้าชื่อมีช่องว่างหรืออักขระพิเศษ คุณต้องใช้วงเล็บเหลี่ยม
เคล็ดลับ: ชื่อที่มีช่องว่างสามารถอ่านได้ง่ายขึ้นและสามารถช่วยคุณประหยัดเวลาเมื่อคุณออกแบบฟอร์มและรายงาน แต่อาจทําให้คุณพิมพ์ได้มากขึ้นเมื่อคุณเขียนคําสั่ง SQL คุณควรพิจารณาข้อเท็จจริงนี้เมื่อคุณตั้งชื่อวัตถุในฐานข้อมูล Access ของคุณ
ถ้าคําสั่ง SQL ของคุณมีเขตข้อมูลอย่างน้อยสองเขตข้อมูลที่มีชื่อเดียวกัน คุณต้องเพิ่มชื่อของแหล่งข้อมูลของแต่ละเขตข้อมูลลงในชื่อเขตข้อมูลในส่วนคําสั่ง SELECT คุณใช้ชื่อเดียวกันกับแหล่งข้อมูลที่คุณใช้ในส่วนคําสั่ง FROM
เลือกเขตข้อมูลทั้งหมด
เมื่อคุณต้องการรวมเขตข้อมูลทั้งหมดจากแหล่งข้อมูล คุณสามารถแสดงรายการเขตข้อมูลทั้งหมดทีละเขตข้อมูลในส่วนคําสั่ง SELECT หรือคุณสามารถใช้อักขระตัวแทนเครื่องหมายดอกจัน (*) เมื่อคุณใช้เครื่องหมายดอกจัน Access จะกําหนดว่าคิวรีจะเรียกใช้คิวรีที่มีเขตข้อมูลใดในแหล่งข้อมูล และจะรวมเขตข้อมูลเหล่านั้นทั้งหมดในคิวรีเมื่อใด ซึ่งจะช่วยให้แน่ใจว่าคิวรีจะยังคงอัปเดตอยู่เสมอถ้าเขตข้อมูลใหม่ถูกเพิ่มลงในแหล่งข้อมูล
คุณสามารถใช้เครื่องหมายดอกจันกับแหล่งข้อมูลอย่างน้อยหนึ่งแหล่งในคําสั่ง SQL ได้ ถ้าคุณใช้เครื่องหมายดอกจันและมีแหล่งข้อมูลหลายแหล่ง คุณต้องใส่ชื่อแหล่งข้อมูลร่วมกับเครื่องหมายดอกจัน เพื่อให้ Access สามารถกําหนดแหล่งข้อมูลที่จะรวมเขตข้อมูลทั้งหมดได้
ตัวอย่างเช่น สมมติว่าคุณต้องการเลือกเขตข้อมูลทั้งหมดจากตารางใบสั่งซื้อ แต่เฉพาะที่อยู่อีเมลจากตารางที่ติดต่อเท่านั้น ส่วนคําสั่ง SELECT ของคุณอาจมีลักษณะดังนี้
SELECT Orders.*, Contacts.[E-mail Address]
หมายเหตุ: ติดตามเมื่อคุณใช้เครื่องหมายดอกจัน ถ้าเขตข้อมูลใหม่ถูกเพิ่มลงในแหล่งข้อมูลในภายหลัง และคุณไม่ได้วางแผนสําหรับเขตข้อมูลเหล่านั้น ผลลัพธ์คิวรีของคุณอาจไม่แสดงตามที่คุณต้องการ
เลือกค่าที่ไม่ซ้ำกัน
ถ้าคุณทราบว่าคําสั่งของคุณจะเลือกข้อมูลที่ซ้ํากัน และคุณต้องการเห็นเฉพาะค่าที่แตกต่างกัน คุณสามารถใช้คําสําคัญ DISTINCT ในส่วนคําสั่ง SELECT ของคุณได้ ตัวอย่างเช่น สมมติว่าลูกค้าของคุณแต่ละคนแสดงถึงความสนใจที่แตกต่างกันหลายรายการ ซึ่งบางรายการใช้หมายเลขโทรศัพท์เดียวกัน ถ้าคุณต้องการตรวจสอบให้แน่ใจว่าคุณเห็นหมายเลขโทรศัพท์แต่ละหมายเลขเพียงหนึ่งครั้ง ส่วนคําสั่ง SELECT ของคุณจะปรากฏขึ้นดังนี้:
SELECT DISTINCT [txtCustomerPhone]
ใช้ชื่อทดแทนสำหรับเขตข้อมูลหรือนิพจน์: คำสำคัญ AS
คุณสามารถเปลี่ยนป้ายชื่อที่แสดงสําหรับเขตข้อมูลใดๆ ในมุมมองแผ่นข้อมูลได้โดยใช้คําสําคัญ AS และนามแฝงเขตข้อมูลในส่วนคําสั่ง SELECT ของคุณ นามแฝงของเขตข้อมูลคือชื่อที่คุณกําหนดให้กับเขตข้อมูลในคิวรีเพื่อทําให้อ่านผลลัพธ์ได้ง่ายขึ้น ตัวอย่างเช่น ถ้าคุณต้องการเลือกข้อมูลจากเขตข้อมูลที่ชื่อ txtCustPhone และเขตข้อมูลมีหมายเลขโทรศัพท์ลูกค้า คุณสามารถปรับปรุงความยากง่ายในการอ่านผลลัพธ์ของคุณได้โดยใช้นามแฝงของเขตข้อมูลในคําสั่ง SELECT ของคุณ ดังนี้:
SELECT [txtCustPhone] AS [Customer Phone]
หมายเหตุ: คุณต้องใช้นามแฝงของเขตข้อมูลเมื่อคุณใช้นิพจน์ในส่วนคำสั่ง SELECT
เลือกโดยใช้นิพจน์
ในบางครั้ง คุณอาจต้องการดูการคํานวณตามข้อมูลของคุณ หรือเรียกใช้เฉพาะส่วนของข้อมูลของเขตข้อมูล ตัวอย่างเช่น สมมติว่าคุณต้องการส่งกลับปีที่ลูกค้าเกิด โดยยึดตามข้อมูลในเขตข้อมูล BirthDate ในฐานข้อมูลของคุณ ส่วนคําสั่ง SELECT ของคุณอาจมีลักษณะดังต่อไปนี้:
SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]
นิพจน์นี้ประกอบด้วยฟังก์ชัน DatePart และอาร์กิวเมนต์สองค่า ได้แก่ "yyyy" (ค่าคงที่) และ [BirthDate] (ตัวระบุ)
คุณสามารถใช้นิพจน์ที่ถูกต้องเป็นเขตข้อมูล หากนิพจน์นั้นให้ผลลัพธ์เป็นค่าเดียวเมื่อมีการป้อนข้อมูลด้วยค่าเดียว