oracle 刷数据排序,Oracle数据的排序:(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、付费专栏及课程。

余额充值