ORACLE SQL子查询

学习oracle已经有一段时间了,今天开始准备记录一下某些知识点以及自己的心得,方便加深理解以及回顾自己的努力,希望自己可以坚持下去。

 使用子查询的两种情况:

1.一条查询语句的查询条件依赖另外一条查询语句的查询结果。比如查询公司里工资比某个人高的员工 ,这里某个人的工资就是条件。

SELECT * FROM EMP WHERE SAL>(SELECT * FROM EMP WHERE ENAME='XXX');

2.需要对查询结果作为另一个表再次进行查询。这个想不出来怎么比如 = =  反正放到from子句里就是了

子查询分为单行子查询,多行子查询,多列子查询。分别使用=和in以及(xx,xxx) in,可以放在几乎所有子句中,包括select、here 、having 、order by等。灵活使用即可。

哈哈哈哈哈  第一次记录并且分享自己的知识 感觉有点怪 但还是要坚持下去,希望能多记录一些有价值的东西(感觉今天的就不太有价值,毕竟第一次嘛  也没学多久 理解一下)。

记录一下自己写的一段觉得比较复杂的查询语句,用了N个查询以及表连接,可以说是毕生所学了。虽然能实现结果,但总觉得非常冗余,希望自己学完优化或者更熟练后能改过来。

 查询没学过湛燕老师课的同学的学号、姓名

select s.sname,s.sno
from student s where (s.sname,s.sno) not in
(select s.sname,s.sno
        fr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值