Oracle数据库中的左连接与右连接

本文介绍了Oracle PL-SQL中左连接和右连接的实现方式及二者之间的区别,详细解释了如何通过SQL语句进行连接操作,并提供了具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Oracle PL-SQL中,左连接和右连接可以用如下的方式实现: 

  语句片断: 

  SELECT emp_name, dept_name FORM Employee, Department  WHERE Employee.emp_deptid(+) = Department.deptid

此SQL使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。 


  相反的情况: 

  SELECT emp_name, dept_name 

  FORM Employee, Department 

  WHERE Employee.emp_deptid = Department.deptid(+)则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都将被显示。



原文:http://www.enet.com.cn/article/2008/0118/A20080118119326.shtml


补充:

连接是指将关系数据库中的两个表根据内容一定的条件连接成一个表. 


内连接是最常用的链接,也叫等值链接,最常见的格式是: 
SELECT a.*,b.* FROM TA as a ,TB as b 
WHERE a.id=b.id 


或者用inner join: 


SELECT a.*,b.* FROM TA as a inner join TB as b 
ON a.id = b.id


外连接则分为"左外连接(左连接)","右外连接(右连接)"两种情况: 
left join / right join 
常见格式是: 
SELECT A.IDA,A.VA,B.IDB,B.VB FROM TA A LEFT  JOIN TB B
ON B.IDB=A.IDA




左连接:以左表为基础来连接,如果左表的某行内容无法在右表中找到相对的row,则将右表统统用null来表示. 
右连接:与左连接相反. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值