oracle学习之三--多表查询

一、在oracle中存在这样几种表的连接方式:

1、等值连接:连接2张表其中有相同的字段
2、不等值连接
3、外连接:当条件不成立时,某些记录仍然显示
4、自连接:自己和自己连接

 

对与不等值的连接如:

select e.ename,e.sal,s.grade

from emp e,salgrade s
where e.sal between s.losal and s.hisal;

外连接操作,当条件不成立时,结果中仍然希望某些记录显示

左外连接:当条件不成立时,符号左边 的信息仍然显示,写法:where d.deptno=e.deptno(+);

如:

select d.deptno,d.dname,count(e.empno)
from emp e,dept d
where d.deptno=e.deptno(+)
group by d.deptno,d.dname;

右外连接:当条件不成立时,等号左边的信息仍然显示,写法:where d.deptno(+)=e.deptno;

自连接的关键:通过表的别名,将同一张表视为多张表

select empno,ename,mgr
from emp
connect by prior empno=mgr
start with empno=7839

 

 

转载于:https://www.cnblogs.com/caishuhua226/archive/2012/04/24/2468408.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值