T-SQL Order By子句
精华
小牛编辑
145浏览
2023-03-14
ORDER BY 子句按递增或递减顺序对数据库进行排序。要一次对多个列进行排序,请使用运算符 (,) 运算符分隔列名称。
- ORDER BY默认按升序对数据进行排序。
- DESC关键字用于按降序对数据进行排序,ASC关键字用于按升序对数据库进行排序。
ORDER BY子句的语法
SELECT column-list
FROM table_name/Name of the table
[WHERE condition]
[ORDER BY column1, column2, column3 ..columnN] [ASC | DESC];
这里:
table_name
:表的名称。column_name
:数据库表的列名称。|
: 使用 ASC 或 DESC 升序或降序排序
例子:
假设 CUSTOMERS 表有以下记录 -
ID NAME AGE ADDRESS SALARY
01 William 32 Karachi 72000
02 Avery 24 London 34000
03 Jackson 34 Paris 12000
04 Harper 20 United state 15000
05 Ella 22 Islamabad 33000
06 Monty 23 Turkey 42000
07 Mason 26 Saudi 50500
示例 1:
下面的示例是按 NAME 和 SALARY 按升序对结果进行排序。
SELECT * FROM CUSTOMERS
ORDER BY NAME;
执行上面查询语句得到以下输出结果 -
ID NAME AGE ADDRESS SALARY
02 Avery 24 London 72000
05 Ella 22 Islamabad 34000
04 Harper 20 New York 12000
03 Jackson 34 Paris 15000
07 Mason 26 Saudi Arabia 33000
06 Monty 23 Turkey 42000
01 William 32 Karachi 50500
示例 2:
下面的示例是按 AGE 对结果进行降序排序。
SELECT * FROM CUSTOMERS
ORDER BY AGE DESC
上面的执行后得到以下结果 -
ID NAME AGE ADDRESS SALARY
03 Jackson 34 Paris 50500
07 William 32 Karachi 42000
01 Mason 26 Saudi Arabia 33000
02 Avery 24 London 15000
06 Monty 23 Turkey 12000
05 Ella 22 Islamabad 34000
04 Harper 20 New York 72000
示例 3:
下面的示例是按 ADDRESS 对结果进行升序排序。
SELECT * FROM CUSTOMERS
ORDER BY ADDRESS ASC
上面的执行后得到以下结果 -
ID NAME AGE ADDRESS SALARY
05 Ella 22 Islamabad 33000
01 William 32 Karachi 72000
02 Avery 24 London 34000
03 Jackson 34 Paris 12000
07 Mason 26 Saudi 50500
06 Monty 23 Turkey 42000
04 Harper 20 United state 15000