您的位置:首页 > 数据库

SQL学习笔记--限制于排序

2017-08-16 10:43 357 查看
温故而知新。

限制于排序

1)使用字符串/字符做限制条件时,大小写敏感:

select * from emp where ename=’king’;

select * from emp where ename=’KING’;

2)简单系统时间函数:

select sysdate from dual; –dual是属于 sql.bsq 的一个虚拟表,在每次数据库实例创建的时候都是创建出 dual ,所以每个 db 都会有这个表。

3)特殊比较符:

  1° between and -> select ename from emp where sal between 2000 and 5000;

  2° int(set list) -> 枚举方式取出数据,in后跟一个集合列表;

  3° like -> 模糊查询,比如姓什么 ‘张%’,第二个字母为L ‘_L%’;

  4° is null ( is not null ) : 过滤空值 (!!未定义值,不确定的值,不是零也不是空格)

  5° rownum -> 伪列,是结果集的编号;

  

  


 

  *通过图片就明显看出排序和伪列插入的优先级,个人认为操作过程是:查询出现结果集之后插入伪列,最后再进行排序,

4)排序:

  1° 默认排序为 -> 升序;后缀 desc -> 降序;

  2° 多列排序:

   select ename,deptno,sal from emp order by deptno desc,sal desc;

   先拍前,后排后。

  ->select ename —————— order by 2,3 desc;

  ->select * from emp order by 5;

  如果数字超出列数 >5 或者 <1

  ORA-01785:ORDER BY必须是SELECT-list

  *那我个人认为 SELECT-list 在查询时,oracle 会自动生成并将结果集放入,因为数字代替的是列名,所以可能放入的也只是列名而已,下标从 1 开始,然后应该是有序数列。

注释:*为不确定自我见解,有错误请毫不留情直接指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: