oracle数据库连接查询问题?

oracle进行连接查询时,如何知道何时使用相等连接?何时使用自连接?何时使用外连接?... oracle进行连接查询时,如何知道何时使用相等连接?何时使用自连接?何时使用外连接? 展开
 我来答
li86719712
2012-08-01 · 超过18用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:46.9万
展开全部
1. 相等连接
  通过两个表具有相同意义的列,可以建立相等连接条件。
  只有连接列上在两个表中都出现且值相等的行才会出现在查询结果中。
  例 查询员工信息以及对应的员工所在的部门信息;
SELECT * FROM EMP,DEPT;
  SELECT * FROM EMP,DEPT
  WHERE EMP.DEPTNO = DEPT.DEPTNO
2. 外连接
  对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。除了显示匹配相等连接条件的信息之外,还显示无法匹配相等连接条件的某个表的信息。
SELECT ... FROM 表1 LEFT OUTER JOIN 表2 ON 连接条件;
3. 自连接
  自连接是数据库中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。下面介绍一下自连接的方法:
  将原表复制一份作为另一个表,两表做笛卡儿相等连接。
  例 显示雇员的编号,名称,以及该雇员的经理名称
  SELECT WORKER.ENAME,WORKER.MGR,MANAGER.EMPNO,MANAGER.ENAME FROM EMP WORKER,EMP MANAGER
  WHERE WORKER.MGR = MANAGER.EMPNO
木森耙耙
2012-08-01 · TA获得超过436个赞
知道小有建树答主
回答量:907
采纳率:0%
帮助的人:572万
展开全部
你要理解这不同的连接产生的效果就知道何时用了
相等连接 要连接的两个表符合查询条件 记录才会显示
自连接和相等连接一样吧
左外是左表的数据全部显示 而右面显示符合条件的数据 比如 学生表和成绩表 学生信息要全显示 成绩匹配学生 匹配不上的显示空值
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Anthony198634
2012-08-04 · 贡献了超过165个回答
知道答主
回答量:165
采纳率:0%
帮助的人:42.3万
展开全部
使用外连接时,要确定那边的信息全显示就放在相应外连接的那边。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式