在SQL语言中,ORDER BY子句用于对结果集中的行进行排序。它的语法如下:
sql
ORDER BY expression [ASC | DESC] [, expression [ASC | DESC]]
其中,expression可以是列名、表达式或常量,ASC和DESC分别表示升序和降序。
排序选项
ORDER BY子句支持多种排序选项,包括:
* **升序 (ASC)**:将结果集中的行按升序排列,即从最小值到最大值。
* **降序 (DESC)**:将结果集中的行按降序排列,即从最大值到最小值。
* **NULLS FIRST**:将结果集中包含NULL值的行放在最前面。
* **NULLS LAST**:将结果集中包含NULL值的行放在最后面。
排序示例
让我们考虑一个名为"student"的表,其中包含以下列:
sql
id | name | grade
1 | John | 90
2 | Mary | 80
3 | Peter | 70
要按成绩降序排列结果集,我们可以使用以下查询:
sql
SELECT * FROM student ORDER BY grade DESC;
这将返回以下结果集:
sql
id | name | grade
1 | John | 90
2 | Mary | 80
3 | Peter | 70
多个排序条件
ORDER BY子句可以包含多个排序条件。语法如下:
sql
ORDER BY expression1 [ASC | DESC], expression2 [ASC | DESC], ...
例如,要同时按成绩降序和姓名升序排列结果集,我们可以使用以下查询:
sql
SELECT * FROM student ORDER BY grade DESC, name ASC;
这将返回以下结果集:
sql
id | name | grade
1 | John | 90
2 | Mary | 80
3 | Peter | 70