1 2 3 |
SELECT employee_id, last_name, salary FROM employees ORDER BY salary; |
查询结果:
【例子1】查询员工表 employees 中的员工的 employee_id 、last_name 、salary 和 department_id 信息。并按 salary 从大到小 (降序) 进行排列。
1 2 3 |
SELECT employee_id, last_name, salary FROM employees ORDER BY salary DESC; |
查询结果:
在SQL中,可以使用字段 (列) 的别名来进行排序。因为有时我们需要计算表中没有的字段 (如年薪 annual_salary) ,或者有些字段名字实在是太长了,使用简短的别名可以提高我们编程的效率。如下例子所示:
【例子】查询员工表 employees 中的员工的 employee_id 、last_name 、月薪 salary 和 年薪 annual_salary 信息。并按 annual_salary 从大到小 (降序) 进行排列。
1 2 3 4 |
SELECT employee_id, last_name, salary, salary * (1 + IFNULL(commission_pct, 0) * 12) AS "annual_salary" FROM employees ORDER BY annual_salary DESC; |
查询结果:
【注意】
【原因】
1 2 3 4 |
SELECT employee_id, last_name, department_id FROM employees WHERE department_id IN(50, 60, 70) ORDER BY department_id DESC; |
查询结果:
在现实生活中,我们有时候希望先按某个字段排序,再按另一个字段排序。在SQL中我们可以使用二级排序来实现。使用方法请看下面例子:
【例子1】查询员工表 employees 中的员工的员工ID employee_id 、名字 last_name 、月薪 salary 和部门ID department_id 。并先按部门ID department_id 降序排列,再按 salary 从大到小 (降序) 进行排列。
1 2 3 |
SELECT employee_id, last_name, salary, department_id FROM employees ORDER BY department_id DESC, salary DESC; |
查询结果:
依次类推,可以在 ORDER BY 后面加逗号,来实现三级、四级…排序。