码迷,mamicode.com
首页 > 数据库 > 详细

Oracle子查询

时间:2016-09-20 21:14:57      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

select * from teacher

--招生部门所有男老师姓名
--teacher表中有 招生部吗 ? 有的是编号!
--01.查询 招生部对应的编号
select dname,deptno from dept where dname=‘招生部‘
--02.那么只要是部门编号是20的 就是招生部
select tname,deptno
from teacher
where deptno=(select deptno from dept where dname=‘招生部‘)

--所有老师姓名、部门
--怎么把deptno转换成dname
select tname,deptno from teacher
select dname from dept
--把deptno换成上面的语句
--子查询作为了 列名
select tname,(select dname from dept where deptno=t.deptno) as 部门
from teacher t

--所有在招生部、人力部的老师列表
select deptno,tname from
teacher
where deptno in
(select deptno from dept where dname in(‘招生部‘,‘人力部‘))


--使用exists 用来检查子查询是否返回一个数据 性能比in高
--使用exists 代替in 使用not exists代替 not in
--exists并不返回实际的数据 而是返回 true或者false
select deptno,tname from
teacher where exists
(select deptno from dept
where
deptno=teacher.deptno and dname in(‘招生部‘,‘人力部‘))

 

Oracle子查询

标签:

原文地址:http://www.cnblogs.com/liu-chao-feng/p/5890331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!