首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

SQL 排序基礎:ORDER BY 子句依編號欄位排序完整語法與範例

     編輯:程式設計綜合問答

基本語法

SELECT * FROM 表名 ORDER BY 編號欄位 [ASC | DESC];
  • ASC:遞增(預設)
  • DESC:遞減

實用範例

-- 依員工編號遞增
SELECT * FROM employees ORDER BY emp_id ASC;

-- 依建立時間遞減(最新在前)
SELECT * FROM logs ORDER BY created_at DESC;

-- 多欄位排序:先部門遞增,再薪資遞減
SELECT * FROM staff ORDER BY dept_id ASC, salary DESC;

進階技巧

  • NULL 排序控制:ORDER BY col NULLS FIRST / LAST(PostgreSQL/Oracle)或 ORDER BY (col IS NULL), col(MySQL)。
  • 自訂排序:ORDER BY CASE status WHEN 'urgent' THEN 1 WHEN 'normal' THEN 2 ELSE 3 END。
  • 分頁配合:ORDER BY id LIMIT 20 OFFSET 40(MySQL/PostgreSQL)或 OFFSET 40 ROWS FETCH NEXT 20 ROWS ONLY(SQL Server/Oracle 12c+)。

效能建議

排序欄位應建立索引;避免在大量資料上使用 ORDER BY RAND(),改用應用層隨機抽樣。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved