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

来源:互联网 发布:乐乎社区 编辑:程序博客网 时间:2024/05/17 06:16

温故而知新。
限制于排序
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 开始,然后应该是有序数列。

注释:*为不确定自我见解,有错误请毫不留情直接指出。

原创粉丝点击