上一篇我们讨论了如何使用 LIKE 运算符和正则表达式函数进行文本数据的模糊查找。当你在运行前面几篇文章中的示例时,得到的结果可能与文章中不完全一致,主要是数据的显示顺序可能不同。这是因为 SQL 在查询时不保证返回结果的顺序。
如果想要查询的结果按照某种规则进行排序,例如按照工资从高到低排序,可以使用 SQL 中的 ORDER BY 子句。
单列排序
按照单个字段或者表达式的值进行排序称为单列排序。单列排序的语法如下:
SELECT col1, col2, ...
FROM t
ORDER BY col1 [ASC | DESC];
其中,ORDER BY 用于指定排序的字段;ASC 表示升序排序(Ascending),DESC 表示降序排序(Descending),默认值为升序排序。以下是排序操作的示意图:
以下示例查询研发部门(dept_id = 4)的员工信息,并且按照月薪从高到低排序显示:
SELECT emp_name, salary, hire_date
FROM employee
WHERE dept_id = 4
ORDER BY salary DESC;
该查询中使用了 WHERE 过滤条件,此时 ORDER BY 子句位于 WHERE 之后。该语句执行的结果如下: