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

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

ORDER BY ใช้ทำอะไร?

ORDER BY ใช้เรียงลำดับแถวในผลลัพธ์ของ SELECT ตามคอลัมน์หรือนิพจน์ที่ระบุ

รูปแบบคำสั่ง

SELECT column_list
FROM table_name
[WHERE condition]
ORDER BY expression [ASC | DESC];

ตัวเลือก

  • ASC: เรียงน้อยไปมาก (Default ถ้าไม่ระบุ)
  • DESC: เรียงมากไปน้อย
  • ใช้ได้ทั้งคอลัมน์, นิพจน์, ตำแหน่ง (1, 2, 3...), หรือ alias

ตัวอย่าง

1. เรียงตามคอลัมน์ (Default ASC)

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

เทียบเท่า ORDER BY ho ASC

2. เรียง Descending

SELECT ho
FROM nhanvien
WHERE ten = 'Sarah'
ORDER BY ho DESC;

3. เรียงตามตำแหน่ง (Ordinal Position)

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

คอลัมน์แรกใน SELECT = ตำแหน่ง 1

4. เรียงหลายคอลัมน์ (Mixed ASC/DESC)

SELECT ho, ten
FROM nhanvien
WHERE ho = 'Johnson'
ORDER BY ho DESC, ten ASC;

เรียงนามสกุลมากไปน้อย แล้วค่อยเรียงชื่อน้อยไปมาก

แนวทางปฏิบัติที่ดี: ระบุชื่อคอลัมน์ชัดเจน (หลีกเลี่ยงตำแหน่ง) เพื่อความอ่านง่ายและกัน error เมื่อเปลี่ยน SELECT list