oracle连接种类

等连接:连接条件使用等号

非等连接:连接条件使用等号以外的其它符号

内连接:根据指定的连接条件进行连接查询,满足连接条件的数据才会出现在结果集

外连接:在内连接的基础上,将某个连接表不符合连接条件的记录加入结果集

自连接:自身表中的列关联自身表中的其它列

内连接属于强连接,外连接属于弱连接

左外连接

【A left outer join B】即把左边表A当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到A中不符合条件的记录也加入(因为它是基准),但对应B表的记录用null填充

select e.last_name,d.name

from s_emp e left outer join s_dept d

on e.dept_id=d.id;

Oracle特有写法:

select e.last_name,d.name

from s_emp e,s_dept d

where e.dept_id=d.id(+);

右外连接

【A right outer join B】即把右边表B当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到B中不符合条件的记录也加入(因为它是基准),但对应A表的记录用null填充

oracle扩展连接方式:连接条件哪边表的列用(+),则它的记录用null值填充(也可把null当作占位符,没有东西、空占着位置),另一边的表会把不符合连接条件的记录也加进查询结果中。

全外连接

select e.last_name,d.name

from s_emp e full outer join s_dept d

on e.dept_id=d.id;

没有特殊写法

点赞
收藏

评论区

加载中...

相关推荐

sql语句中的 inner join 、 left join 、 right join、 full join 的区别

简单明了地说,连接分内连接和外链接假设有A和B两张表内连接:innerjoin   表示把AB表的记录相符都显示出来,把AB表不符合条件的都排除外连接分三种,即左连接(LEFTOUTERJOIN)、右连接(RIGHTOUTERJOIN)、全连接(FULLOUTERJOIN),下面就简单解析一下,。1.ALEFTOUTERJOI

MySQL查询之内连接,外连接查询场景的区别与不同

前言我在写sql查询的时候,用的最多的就是where条件查询,这种查询也叫内连查询innerjoin,当然还有外连查询outerjoin,左外连接,右外连接查询,常用在多对多关系中,那他们区别和联系是什么呢?内连接innerjoin内连接最常用定义:1.连接结果仅包含符合连接条件的行组合起来作为结果集,参与连接的两个表都应该符合连接条件使用关键词:

MySQL数据库查询

MySQL数据库查询12、说明:使用外连接A、left(outer)join:左外连接(左连接):包含leftjoin左表所有行,如果左表中某行在右表没有匹配,则结果中对应行右表的部分全部为空(NULL).。SQL:select\fromstudent(表1)leftjoincourse(表2)onstude

MySQL—关联(连接)查询(笛卡尔积、内连接、外连接、左连接、右外连接、外连接、自连接)

MySQL—关联(连接)查询知识大纲概述笛卡尔积关联条件内连接\INNERJOIN\外连接\OUTERJOIN\左连接\LEFTJOIN\右外连接\RIGHTJOIN\外连接\FULLJOIN\

MySQL教程(十四)—— 连接

1 连接的语法结构MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作。语法结构:1table_reference//第一张表2{INNER|CROSSJOIN|{LEFT|RIGHT}OUTERJOIN}//连接选择:内连接,左外、右外连接3t

mysql学习之join从句

一、join从句共有5种类型内连接(innerjoin)全外连接(fullouterjoin)左外连接(leftouterjoin)右外连接(rightouterjoin)交叉连接(crossjoin)二、演示案例新建两张表user1表和user2表CRE