最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL)

来源:懂视网 责编:小采 时间:2020-11-09 08:20:56
文档

LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL)

LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL):Oracle的左连接和右连接 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: SELECT emp_name,dept_name FORMEmployee,Department WHERE Employee.emp_deptid( + ) = Department.deptid 此SQL文使用
推荐度:
导读LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL):Oracle的左连接和右连接 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: SELECT emp_name,dept_name FORMEmployee,Department WHERE Employee.emp_deptid( + ) = Department.deptid 此SQL文使用

Oracle的左连接和右连接 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: SELECT emp_name,dept_name FORMEmployee,Department WHERE Employee.emp_deptid( + ) = Department.deptid 此SQL文使用了右连接,即(+)所在位置的另一侧为连接的

Oracle的左连接和右连接
在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表中得到匹配的部门号,这个员工的记录都会被显示

++++++++++++++++++++++++++++++++++++++++++MYSQL

A left join B 的连接的记录数与A表的记录数同
A right join B 的连接的记录数与B表的记录数同
A left join B 等价B right join A


table A:
Field_K, Field_A
1 a
3 b
4 c

table B:
Field_K, Field_B
1 x
2 y
4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a left join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B
---------- ---------- ---------- ----------
1 a 1 x
3 b NULL NULL
4 c 4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a right join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B
---------- ---------- ---------- ----------
1 a 1 x
NULL NULL 2 y
4 c 4 z

++++++++++++++++++++++++++++++++++++++

这样的。
table1 table2
id,sex1 id sex2
a 1 a 4
b 0
select id,sex1,sex2 from table1 left join table2 on table1.id=table2.id
则,
id sex1 sex2
a 1 4
b 0 null
也就是说left join 则连接左边表中所有记录都会出现,如果根据连接条件在table2中找不到相关记录,则显示为null
right join 则显示右边表中的全部记录。
inner join 则只有符合条件的记录才会出现在结果集中

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL)

LEFTJOIN与RIGHTJOIN简明教程(ORACLE&MYSQL):Oracle的左连接和右连接 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: SELECT emp_name,dept_name FORMEmployee,Department WHERE Employee.emp_deptid( + ) = Department.deptid 此SQL文使用
推荐度:
标签: 教程 mysql oracle
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top