oracle问题:内连接、外连接、左右连接等等,是不是只有两个表时才有的现象?一个表是不可能有的??

 我来答
yuanbest911
2012-04-09 · 贡献了超过135个回答
知道答主
回答量:135
采纳率:0%
帮助的人:46万
展开全部
这个是连接的问题了。一个表也可以连接,一个表可以自己和自己连接,这就叫做内连接,也叫自连接。外连接就是二个表了,左连接的话,就好像 where tabl1.num(+)=table2.num。不管table1的num是否符合条件,它都会被列出来
wolfy1016
2012-04-08 · TA获得超过244个赞
知道小有建树答主
回答量:353
采纳率:0%
帮助的人:290万
展开全部
是两个数据集合才有的现象。
一个表弄两个集合也是可以连的,就看有用还是没用。如:
select * from (select 字段1, 字段2 from 表1)a left join (select 字段1, 字段3 from 表1)b on b.字段1=a.字段1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
亓鸿羽04y
2012-04-10
知道答主
回答量:29
采纳率:0%
帮助的人:9.6万
展开全部
1、等连接
问题:显示员工姓名及其所在部门的名称
分析: 姓名 - emp - ename
部门名称 - dept - dname
关系 emp(deptno) <-> dept(deptno)
select e.ename,d.dname from emp e,dept d where e.deptno = d.deptno;

2、外连接
问题:查询所有部门名称和对应的员工姓名,若该部门没有员工,只显示部门名称。
分析: 部门名称 - dept -dname
员工姓名 - emp - ename
select d.dname,e.ename from emp e,dept d where e.deptno(+) = d.deptno;
注意:Oracle中使用(+)表示外连接,可以理解(+)所在字段的对侧(以=分开左右两部分)为主要显示信息。

3、自连接
问题:显示员工姓名及其上级员工的姓名
分析:员工姓名 - emp -ename
select t1.ename,t2.ename from emp t1,emp t2 where t1.mgr = t2.empno;

4、子查询模式
问题:查询工资高于公司平均工资的所有员工
分析:公司的平均工资
select avg(sal) from emp;
select * from emp where sal>(select avg(sal) from emp); // 关联子查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我又强力了
2012-04-09 · TA获得超过802个赞
知道小有建树答主
回答量:1058
采纳率:0%
帮助的人:712万
展开全部
一张表叫自连接
自连接是指在同一张表的连接查询
如:显示某个员工的上级领导的姓名?
比如显示员工‘FORD’的上级
SELECT worker.ename, boss.ename FROM emp worker,emp boss WHERE worker.mgr = boss.empno AND worker.ename = 'FORD';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式