学习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