SQL Server (Transact-SQL) ORDER BY 关键字用于按升序或降序对结果表进行排序。默认情况下,ORDER BY 关键字按升序对结果进行排序,但可以使用 ASC 关键字指定。若要按降序对结果进行排序,请使用 DESC 关键字。
语法
在 SQL Server (Transact-SQL) 中使用 ORDER BY 关键字的语法如下:
SELECT column1, column2, column3, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
示例:
考虑一个名为 Employee 的数据库表,其中包含以下记录:
EmpID | Name | City | Age | Salary |
---|---|---|---|---|
1 | John | London | 25 | 3000 |
2 | Marry | New York | 24 | 2750 |
3 | Jo | Paris | 27 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
要获取按年龄(升序)排序的 Employee 表,查询为:
SELECT * FROM Employee
ORDER BY Age ASC;
这将产生结果如下所示:
ID | Name | City | Age | Salary |
---|---|---|---|---|
2 | Marry | New York | 24 | 2750 |
1 | John | London | 25 | 3000 |
3 | Jo | Paris | 27 | 2800 |
6 | Huang | Beijing | 28 | 2800 |
5 | Ramesh | New Delhi | 28 | 3000 |
4 | Kim | Amsterdam | 30 | 3100 |
要获取Employee表中按Age(升序)和Salary(降序)排序的所有字段,查询将是:
SELECT * FROM Employee
ORDER BY Age ASC, Salary DESC;
以下代码的结果将是:
ID | Name | City | Age | Salary |
---|---|---|---|---|
2 | Marry | New York | 24 | 2750 |
1 | John | London | 25 | 3000 |
3 | Jo | Paris | 27 | 2800 |
5 | Ramesh | New Delhi | 28 | 3000 |
6 | Huang | Beijing | 28 | 2800 |
4 | Kim | Amsterdam | 30 | 3100 |