首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL ORDER BY 子句完全指南:單列、多列與升降序排序

     編輯:關於SqlServer

ORDER BY 基本語法

SELECT column1, column2
FROM table_name
ORDER BY column_list [ASC | DESC];
  • ASC(預設):升序,A→Z、0→9、舊→新
  • DESC:降序,Z→A、9→0、新→舊

實戰範例

單列升序

SELECT employee_id, dept, name, age, salary
FROM employee_info
WHERE dept = 'Sales'
ORDER BY salary;  -- 預設 ASC

銷售部員工按薪資從低到高排列。

多列混合排序

SELECT employee_id, dept, name, age, salary
FROM employee_info
WHERE dept = 'Sales'
ORDER BY salary, age DESC;

先按薪資升序;薪資相同時,按年齡降序。注意:DESC 只作用於緊跟其後的 age,不影響 salary。

進階技巧

  • 別名排序:ORDER BY annual_salary DESC(SELECT 列別名)
  • 位置編號排序:ORDER BY 3 DESC(第 3 列),不推薦生產環境使用
  • NULL 排序:SQL Server 預設 NULLS FIRST,可用 CASE WHEN col IS NULL THEN 1 ELSE 0 END 自訂
  • 索引配合:ORDER BY 列若有對應索引,可避免額外排序運算
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved