数据的排序:(order by)

 
order by 默认情况下是升序排列

SQL> select * from dept;(deptno默认的是升序排列)

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
deptno是降序排列
SQL>select * from dept order by desc;

默认的:
SQL>select empno ,ename from emp;
 

根据empno升序排列
SQL>select empno,ename from emp order by empno;


(对empno)升序排列
SQL>select ename,empno from emp order by empno asc;


先进行过滤,在进行排序(除deptno为10的部门)
SQL>select ename,empno from emp where deptno<>10 order by empno asc;

deptno进行升序排列
SQL>select ename,sal,deptno from emp order by deptno asc;

deptno进行升序排列的前提下,ename进行降序排列
SQL>select ename,sal,deptno from emp order by deptno asc,ename desc;




SQL> select * from dept;(查询dept)

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON

SQL> select * from dept order by deptno desc;(对dept降序排列)

    DEPTNO DNAME          LOC
---------- -------------- -------------
        40 OPERATIONS     BOSTON
        30 SALES          CHICAGO
        20 RESEARCH       DALLAS
        10 ACCOUNTING     NEW YORK

SQL> select empno,ename from emp;(查询emp表中的empno,ename,)

     EMPNO ENAME
---------- ----------
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER
      7876 ADAMS

     EMPNO ENAME
---------- ----------
      7900 JAMES
      7902 FORD
      7934 MILLER

已选择14行。

SQL> select empno,ename from emp order by empno;(对empno进行升序排列)

     EMPNO ENAME
---------- ----------
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER
      7876 ADAMS

     EMPNO ENAME
---------- ----------
      7900 JAMES
      7902 FORD
      7934 MILLER

已选择14行。
(对雇员编号进行升序排列)
SQL> select empno ,ename from emp order by empno asc;(升序排列)

     EMPNO ENAME
---------- ----------
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7788 SCOTT
      7839 KING
      7844 TURNER
      7876 ADAMS

     EMPNO ENAME
---------- ----------
      7900 JAMES
      7902 FORD
      7934 MILLER

已选择14行。
(查询10号部门的雇员编号,姓名,并升序排列)
SQL> select empno,ename from emp where deptno <>10 order by empno asc;

     EMPNO ENAME
---------- ----------
      7369 SMITH
      7499 ALLEN
      7521 WARD
      7566 JONES
      7654 MARTIN
      7698 BLAKE
      7788 SCOTT
      7844 TURNER
      7876 ADAMS
      7900 JAMES
      7902 FORD

已选择11行。
(查询雇员姓名,雇员编号,和薪水,依据部门号升序)
SQL> select ename,sal,deptno from emp order by deptno asc;

ENAME             SAL     DEPTNO
---------- ---------- ----------
CLARK            2450         10
KING             5000         10
MILLER           1300         10
JONES            2975         20
FORD             3000         20
ADAMS            1100         20
SMITH             800         20
SCOTT            3000         20
WARD             1250         30
TURNER           1500         30
ALLEN            1600         30

ENAME             SAL     DEPTNO
---------- ---------- ----------
JAMES             950         30
BLAKE            2850         30
MARTIN           1250         30

已选择14行。

SQL> select ename,sal,deptno from emp order by deptno asc,ename desc;

ENAME             SAL     DEPTNO
---------- ---------- ----------
MILLER           1300         10
KING             5000         10
CLARK            2450         10
SMITH             800         20
SCOTT            3000         20
JONES            2975         20
FORD             3000         20
ADAMS            1100         20
WARD             1250         30
TURNER           1500         30
MARTIN           1250         30

ENAME             SAL     DEPTNO
---------- ---------- ----------
JAMES             950         30
BLAKE            2850         30
ALLEN            1600         30

已选择14行。



(ename中的第二个字母不能是A,并且工资要大于800,按照工资降序排列)
SQL> select ename,sal*12 annual_sal from emp
  2  where ename not like '_A%' and sal > 800
  3  order by sal desc;

ENAME      ANNUAL_SAL
---------- ----------
KING            60000
SCOTT           36000
FORD            36000
JONES           35700
BLAKE           34200
CLARK           29400
ALLEN           19200
TURNER          18000
MILLER          15600
ADAMS           13200

已选择10行。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值