ส่วนคำสั่ง WHERE

ระบุระเบียนจากตารางที่อยู่ในส่วนคำสั่ง FROM ที่จะได้รับผลกระทบจากคำสั่ง SELECT, UPDATE หรือ DELETE

ไวยากรณ์

SELECT fieldlist
FROM tableexpression
WHERE criteria

คำสั่ง SELECT ที่มีส่วนส่วนคำสั่ง WHERE มีส่วนต่างๆ ดังนี้

ส่วน

คำอธิบาย

fieldlist

ชื่อของเขตข้อมูลหนึ่งหรือหลายเขตข้อมูลที่จะถูกดึงออกมาพร้อมกันกับนามแฝงของชื่อเขตข้อมูล ส่วนที่เลือกจะแสดง (ALL, DISTINCT, DISTINCTROW หรือ TOP) หรือตัวเลือกอื่นๆ ของคำสั่ง SELECT

tableexpression

ชื่อของตารางจากข้อมูลที่ได้รับ

เกณฑ์

นิพจน์ ที่ระเบียนต้องยึดตามจะรวมอยู่ในผลลัพธ์คิวรี


ข้อสังเกต

กลไกจัดการฐานข้อมูลของ Microsoft Access จะเลือกระเบียนที่ตรงกับเงื่อนไขที่ระบุไว้ในส่วนคำสั่ง WHERE ถ้าคุณไม่ได้ระบุส่วนคำสั่ง WHERE คิวรีของคุณจะส่งกลับแถวทั้งหมดจากตาราง ถ้าคุณระบุตารางมากกว่าหนึ่งตารางในคิวรีของคุณ และคุณไม่ได้ใส่ส่วนคำสั่ง WHERE หรือส่วนคำสั่ง JOIN คิวรีของคุณจะสร้าง ผลิตภัณฑ์คาร์ทีเซียน ของตาราง

ไม่จำเป็นต้องใช้ WHERE แต่เมื่อมีอยู่ ให้ใช้ต่อจาก FROM ตัวอย่างเช่น คุณสามารถเลือกพนักงานทุกคนในแผนกขาย (WHERE Dept = 'Sales') หรือลูกค้าทั้งหมดที่มีอายุระหว่าง 18 ถึง 30 (WHERE Age Between 18 And 30)

ถ้าคุณไม่ได้ใช้ส่วนคำสั่ง JOIN ในการดำเนินการรวม SQL บนหลายตาราง วัตถุผลลัพธ์ Recordset จะไม่สามารถอัปเดตได้

WHERE จะคล้ายคลึงกับ HAVING ซึ่ง WHERE จะกำหนดว่าระเบียนใดบ้างที่จะถูกเลือก ในทำนองเดียวกับ เมื่อระเบียนถูกจัดกลุ่มกับส่วนคำสั่ง GROUP BY แล้ว ส่วนคำสั่ง HAVING จะกำหนดว่าจะแสดงระเบียนใดบ้าง ดังนี้

ใช้ส่วนคำสั่ง WHERE เพื่อกำจัดระเบียนที่คุณไม่ต้องการจัดกลุ่มโดยใช้ส่วนคำสั่ง GROUP BY

ใช้นิพจน์ต่างๆ ในการกำหนดว่าระบุใดที่คำสั่ง SQL จะส่งกลับ ตัวอย่างเช่น คำสั่ง SQL ต่อไปนี้จะเลือกพนักงานทุกคนที่มีเงินเดือนมากกว่า $21,000

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

ส่วนคำสั่ง WHERE สามารถมีนิพจน์ได้ถึง 40 นิพจน์ซึ่งเชื่อมโยงกันด้วยตัวดำเนินการเชิงตรรกะ เช่น And และ Or

เมื่อคุณใส่ชื่อเขตข้อมูลที่มีช่องว่างหรือเครื่องหมายวรรคตอน ให้ล้อมรอบชื่อด้วยวงเล็บ ([ ]) ตัวอย่างเช่น ตารางข้อมูลของลูกค้าอาจมีข้อมูลเกี่ยวกับลูกค้าที่ระบุ :

SELECT [Customer’s Favorite Restarant]

เมื่อคุณระบุอาร์กิวเมนต์ เกณฑ์ วันที่จะต้องอยู่ในรูปแบบสหรัฐอเมริกา แม้ว่าคุณจะไม่ได้ใช้กลไกจัดการฐานข้อมูลของ Microsoft Access เวอร์ชันสหรัฐอเมริกา ตัวอย่างเช่น 10 พ.ค. 1996 จะเขียนเป็น 10/5/96 ในสหราชอาณาจักร และ 5/10/96 ในสหรัฐอเมริกา ตรวจสอบให้แน่ว่าล้อมรอบวันที่ของคุณด้วยเครื่องหมายตัวเลข (#) ตามที่แสดงในตัวอย่างต่อไปนี้

เมื่อต้องการค้นหาระเบียนวันที่ 10 พ.ค. 1996 ในฐานข้อมูลสหราชอาณาจักร คุณต้องใช้คำสั่ง SQL ต่อไปนี้:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

คุณยังสามารถใช้ฟังก์ชัย DateValue ซึ่งเป็นการตั้งค่าสากลที่สร้างขึ้นโดย Microsoft Windows® ตัวอย่างเช่น ใช้รหัสนี้สำหรับสหรัฐอเมริกา:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

และใช้รหัสนี้สำหรับสหราชอาณาจักร:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

หมายเหตุ: ถ้าคอลัมน์ที่อ้างถึงในสตริงเกณฑ์เป็นชนิด GUID นิพจน์เกณฑ์จะใช้ไวยากรณ์ที่แตกต่างกันเล็กน้อย:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

ตรวจสอบให้แน่ใจว่าใส่วงเล็บและเครื่องหมายยัติภังค์ตามที่แสดง



ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×