五、排序 2019-10-30

1.语法:
order by {列名 | 表达式 | 别名} [asc | desc ](不写表达式默认升序)

  1. asc:升序(由小到大),默认值,desc:降序(由大到小)。
  2. order by 列1,列2,表示:先按照列1排序 ,如果列1的值相同,在按照列2的进行排序 。
select *
FROM emp
ORDER BY sal,empno desc
  1. 执行顺序:from、where、select、order by。
  2. mysql中,null为最小。
  3. 可以按照select后列的顺序号排序,顺序号从1开始。
  4. 注意:排序的列可以不出现在select后。
    ①查询部门在20或30的员工姓名,部门编号,并按照工资升序排序
SELECT ename,deptno
FROM emp
WHERE deptno IN(20,30)
ORDER BY sal ASC

②查询工资在2000-3000之间,部门不在10号的员工姓名,部门编号,工资,并按照部门升序,工资降序排序。

SELECT ename,deptno,sal 
FROM emp
WHERE sal BETWEEN 2000 and 3000 and
NOT deptno = 10 
ORDER BY deptno ASC,sal DESC

③查询入职日期在82-83年之间,职位一sales或者man开头的员工姓名,入职日期,职位,并按照日期降序排序

SELECT ename,hiredate,job
FROM emp
WHERE hiredate BETWEEN '1982-01-01' and '1983-12-31' AND
(job LIKE 'sales%' or job like 'man%')
ORDER BY hiredate DESC
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容