ASC 升序 DESC 降序
查询员工姓名和工资,按工资从多到少排序
SELECT last_name,salary FROM employees ORDER BY salary DESC
ORDER BY 可以使用别名
查询员工姓名和 12个月工资 别名annual_salary,按照12个月工资从多到小排序
SELECT last_name,salary * 12 as annual_salary FROM employees ORDER BY annual_salary DESC
WHERE 条件不能使用别名
多字段排序
查询部门号从50到80的员工姓名,部门号和工资,并按部门从大到小排序,工资从少到多排序.
SELECT last_name,department_id,salary FROM employees WHERE department_id BETWEEN 50 AND 80 ORDER BY department_id desc,salary asc
分页
SELECT ... FROM ... WHERE ... LIMIT (pageNo - 1) * pageSize,pageSize
每页10条,查询第1页,第一个参数为偏移量,第二个参数为多少条
SELECT * FROM employees LIMIT 0,10;
练习
#1. 查询员工的姓名和部门号和年薪,按年薪降序,按姓名升序显示
SELECT last_name,salary,department_id FROM employees ORDER BY salary DESC,last_name asc
#2. 选择工资不在 8000 到 17000 的员工的姓名和工资,按工资降序,显示第21到40位置的数据
SELECT employee_id,last_name,salary FROM employees WHERE salary NOT BETWEEN 8000 AND 17000 ORDER BY salary DESC LIMIT 20,20
#3. 查询邮箱中包含 e 的员工信息,并先按邮箱的字节数降序,再按部门号升序
SELECT last_name,email FROM employees WHERE email LIKE '%E%' ORDER BY length(email) DESC, department_id ASC