Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง ORDER BY ใน SQL Server

คำสั่ง ORDER BY ใช้เพื่อกรองระเบียนในชุดผลลัพธ์ที่ส่งคืนของ SQL Server ประโยคนี้ใช้ได้เฉพาะในคำสั่ง SELECT เท่านั้น

เรียงลำดับตามรูปแบบคำสั่ง

  SELE CT 'biểu thức' 
FROM 'bảng'
[WHERE 'điều kiện']
ORDER BY 'bi knowledgeable' [ASC | DESC];

ชื่อตัวแปรและค่าตัวแปร

นิพจน์ - ค่าคอลัมน์หรือการคำนวณที่คุณต้องการดึงข้อมูล

ตาราง - ตารางที่คุณต้องการใช้เพื่อดึงข้อมูลบันทึก ต้องมีอย่างน้อย 1 ตารางในส่วนคำสั่ง FROM

'เงื่อนไข' - ไม่จำเป็น. ต้องเป็นไปตามเงื่อนไข เลือกบันทึกใหม่

ASC - ไม่จำเป็น. กรองผลลัพธ์ในลำดับของนิพจน์ (ค่าเริ่มต้นหากไม่ระบุ)

DESC - ไม่จำเป็น. กรองผลลัพธ์ในลำดับของนิพจน์

หมายเหตุ:

หากไม่ได้เลือก ASC หรือ DESC ในส่วนคำสั่ง ORDER BY ผลลัพธ์จะถูกจัดเรียงตามลำดับจากน้อยไปมากตามค่าเริ่มต้น เทียบเท่ากับ ORDER BY 'นิพจน์ ASC'

ตัวอย่างเช่น - การกรองโดยไม่ต้องใช้แอตทริบิวต์ ASC / DESC

  SELECT cough 
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho ;

ผลลัพธ์ที่ส่งคืนจะเป็นบันทึกที่กรองโดยฟิลด์นามสกุลของพนักงาน เรียงลำดับจากน้อยไปมาก เทียบเท่ากับส่วนคำสั่งต่อไปนี้

  SELECT cough 
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho ASC;

นักพัฒนาส่วนใหญ่ลบแอตทริบิวต์ ASC หากพวกเขาต้องการเรียงลำดับจากน้อยไปมาก

ตัวอย่างเช่น - เรียงลำดับจากมากไปหาน้อย

  SELECT cough 
FROM nhanvien
WHERE ten = 'Sarah'
ORDER BY ho DES C;

ด้วยเหตุนี้ บันทึกตัวกรองตามนามสกุลของพนักงานในลำดับจากมากไปน้อย

ตัวอย่างเช่น - การกรองตามตำแหน่งที่สัมพันธ์กัน

คุณสามารถใช้คำสั่งย่อย ORDER BY ใน SQL Server เพื่อกรองตามตำแหน่งที่สัมพันธ์กันในชุดผลลัพธ์ โดยที่ฟิลด์แรกถูกตั้งค่าเป็น 1 ตามด้วย 2 เป็นต้น

 SELECT ho 
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY 1 DESC;

ในตัวอย่างนี้ ผลลัพธ์ที่ส่งคืนคือบันทึกของฟิลด์นามสกุลของพนักงานในลำดับจากมากไปน้อย เนื่องจากนามสกุลของพนักงานอยู่ที่ตำแหน่งที่ 1 ในชุดผลลัพธ์ ผลลัพธ์ข้างต้นจึงเหมือนกับในคำสั่ง ORDER BY ด้านล่าง

  SELECT cough 
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY ho DESC ;

ตัวอย่างเช่น ใช้ทั้งแอตทริบิวต์ ASC และ DESC

  SELECT h o, ten 
FROM nhanvien
WHERE ho = 'Johnson'
ORDER BY ho D ESC, ten ASC;

ในตัวอย่างข้างต้น บันทึกการส่งคืนจะเป็นนามสกุลของพนักงานที่เรียงจากมากไปหาน้อยและชื่อพนักงานในลำดับจากน้อยไปมาก