ระบุระเบียนที่เลือกด้วยคิวรี SQL
ไวยากรณ์
เลือก [ทั้งหมด | ทั้งหมด' DISTINCT | DISTINCTROW | [ด้านบน n [เปอร์เซ็นต์]]]
ตาราง FROMคําสั่ง SELECT ที่มีเพรดิเคตเหล่านี้มีส่วนต่างๆ ดังนี้:
ส่วน |
คำอธิบาย |
ALL |
สมมติว่าถ้าคุณไม่มีเพรดิเคตตัวใดตัวหนึ่ง กลไกจัดการฐานข้อมูลของ Microsoft Access จะเลือกระเบียนทั้งหมดที่ตรงกับเงื่อนไขในคําสั่ง SQL สองตัวอย่างต่อไปนี้เทียบเท่ากันและส่งกลับระเบียนทั้งหมดจากตาราง Employees:
|
DISTINCT |
ละเว้นระเบียนที่มีข้อมูลที่ซ้ํากันในเขตข้อมูลที่เลือก เมื่อต้องการรวมไว้ในผลลัพธ์ของคิวรี ค่าสําหรับแต่ละเขตข้อมูลที่แสดงอยู่ในคําสั่ง SELECT ต้องไม่ซ้ํากัน ตัวอย่างเช่น พนักงานหลายคนที่แสดงอยู่ในตาราง Employees อาจมีนามสกุลเหมือนกันได้ ถ้าสองระเบียนมี Smith ในเขตข้อมูล LastName คําสั่ง SQL ต่อไปนี้จะส่งกลับระเบียนที่มี Smith เพียงระเบียนเดียว:
ถ้าคุณละ DISTINCT คิวรีนี้จะส่งกลับระเบียน Smith ทั้งสองระเบียน ถ้าส่วนคําสั่ง SELECT มีเขตข้อมูลมากกว่าหนึ่งเขตข้อมูล การผสมค่าจากเขตข้อมูลทั้งหมดจะต้องไม่ซ้ํากันสําหรับระเบียนที่กําหนดให้รวมอยู่ในผลลัพธ์ ผลลัพธ์ของคิวรีที่ใช้ DISTINCT ไม่สามารถอัปเดตได้และจะไม่แสดงการเปลี่ยนแปลงที่ตามมาที่ทําโดยผู้ใช้อื่น |
DISTINCTROW |
ละเว้นข้อมูลโดยยึดตามระเบียนที่ซ้ํากันทั้งหมด ไม่ใช่เฉพาะเขตข้อมูลที่ซ้ํากัน ตัวอย่างเช่น คุณสามารถสร้างคิวรีที่รวมตารางลูกค้าและตารางใบสั่งซื้อบนเขตข้อมูล CustomerID ตารางลูกค้าไม่มีเขตข้อมูลรหัสลูกค้าที่ซ้ํากัน แต่ตารางใบสั่งซื้อมีเพราะลูกค้าแต่ละรายสามารถมีใบสั่งซื้อได้หลายใบ คําสั่ง SQL ต่อไปนี้แสดงวิธีที่คุณสามารถใช้ DISTINCTROW เพื่อสร้างรายชื่อของบริษัทที่มีคําสั่งซื้ออย่างน้อยหนึ่งรายการ แต่ไม่มีรายละเอียดใดๆ เกี่ยวกับใบสั่งเหล่านั้น:
ถ้าคุณละ DISTINCTROW คิวรีนี้จะสร้างแถวหลายแถวสําหรับแต่ละบริษัทที่มีมากกว่าหนึ่งคําสั่งซื้อ DISTINCTROW จะมีผลเฉพาะเมื่อคุณเลือกเขตข้อมูลจากบางเขตข้อมูล แต่ไม่ใช่ทั้งหมด ตารางที่ใช้ในคิวรี DISTINCTROW จะถูกละเว้น ถ้าคิวรีของคุณมีเพียงหนึ่งตาราง หรือถ้าคุณแสดงผลเขตข้อมูลจากตารางทั้งหมด |
N อันดับแรก [เปอร์เซ็นต์] |
ส่งกลับระเบียนจํานวนหนึ่งที่อยู่ด้านบนหรือด้านล่างของช่วงที่ระบุโดยส่วนคําสั่ง ORDER BY สมมติว่าคุณต้องการชื่อของนักเรียน 25 อันดับแรกจากชั้นเรียนของปี 1994:
ถ้าคุณไม่รวมส่วนคําสั่ง ORDER BY คิวรีจะส่งกลับชุดระเบียนที่กําหนดโดยพลการ 25 ระเบียนจากตาราง Students ที่ตรงกับส่วนคําสั่ง WHERE เพรดิเคต TOP ไม่ได้เลือกระหว่างค่าที่เท่ากัน ในตัวอย่างก่อนหน้า ถ้าค่าเฉลี่ยคะแนนสูงสุดยี่สิบห้าและยี่สิบหกเหมือนกัน คิวรีจะส่งกลับระเบียน 26 ระเบียน คุณยังสามารถใช้คําสงวน PERCENT เพื่อส่งกลับเปอร์เซ็นต์ของระเบียนที่อยู่ที่ด้านบนหรือด้านล่างของช่วงที่ระบุโดยส่วนคําสั่ง ORDER BY สมมติว่า แทนที่จะเป็นนักเรียน 25 คนแรก คุณต้องการ 10 เปอร์เซ็นต์ล่างสุดของชั้นเรียน:
เพรดิเคต ASC ระบุการส่งกลับค่าด้านล่าง ค่าที่ตามหลัง TOP ต้องเป็นจํานวนเต็มที่ไม่มีลายเซ็น ฟังก์ชัน TOP จะไม่มีผลต่อคิวรีที่สามารถอัปเดตได้หรือไม่ |
table |
ชื่อของตารางที่ระเบียนถูกดึงออกมา |