oracle基本查询2

1、比较运算符


2、其他比较运算符

BETWEEN ... AND... //两个值之间包含边界

in (set)  //等于列表中的一个值

select * from emp where deptno   (not)  in(10,20);

如何集合中有空值,不能使用not in,但是可以使用in

not in(10,20,null)  //不可以

in (10,20 null)//可以

LIKE //模糊查询

IS NULL //空值

3、like 中的“_”表示一个字符和“%”表示任意个字符

select * from emp where ename like 'S%';//查看S开头的

select * from emp where ename like '_';//查询只有一个字符长度

查询字符串中含有下划线_的数据:使用转义字符

select * from emp where ename like "%\_%" escape '\';

4、oracle自动开启事务,可以直接使用rollback,而在mysql中需要手动开启:start transcation

5、where 语句的解析顺序是从右到左的

当where后有and时,尽量将可能为假的条件放在右边

当where后有or时,尽量将可能为真的条件放在右边

可以起到SQL优化的作用

6、Order by + 列、表达式(sal*12)、别名、序号(从1开始,第几列),默认升序

select * from emp order by sal desc;

select ename,sal,sal *12 年薪 from emp order by 年薪  

select ename,salsal*12 年薪 from emp order by 3;

上面两个效果相同

7、多个列的排序

select * from emp order by deptno,sal;//先按第一列排序,第一列相同再按第二列排序

select * from emp order by septno ,sal desc;

//先按第一列升序排列,再按第二列降序排列

desc只作用于离它最近的那一列,如果每一列都要降序排列,那么每一列都要使用desc

8、空值的排序

升序时空值的行会排在最后

降序时空值的行会排在最前面,原因是oracle 中空值最大

select *

 from emp order by comm desc

nulls last

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引出 •请思考如下问题? –查询所有员工的每个月工资总和,平均工资? –查询工资最高和最低的工资是多少? –查询公...
    C_cole阅读 7,318评论 0 3
  • SQL ==SQLPLUS== DML(Data Manipulation Language,数据操作语言)---...
    蝌蚪1573阅读 615评论 0 4
  • 查询是数据的一个重要操作。用户发送查询请求,经编译软件变异成二进制文件供服务器查询,后返回查询结果集给用户,查询会...
    产品小正阅读 1,447评论 0 2
  • “主啊,求你侧耳听你仆人的祈祷,和喜爱敬畏你名众仆人的祈祷,使你仆人现今亨通,在王面前蒙恩。」 我是作王酒政...
    蓝心遥阅读 6,820评论 0 0
  • 即使在雨天忘了带伞 道路泥泞不堪 也要努力奔向远方 因为,你还在向往未来的生活。。。
    浅汐的星辰大海阅读 127评论 0 2