Oracle inner join、left join、right join 、+左边或者右边的区别

时间:2022-09-10 17:56:28

我们以Oracle自带的表来做例子

主要两张表:dept、emp

一个是部门,一个是员工表结构如下:

emp
name null? Type
Empno not null number(4)
ename   varchar2(10)
job   varchar2(9)
mgr   number(4)
hiredate   date
sal   number(7,2)
comm   number(7,2)
deptno   number(2)
dept
name null? Type
deptno not null number(2)
dname   varchar2(14)
log   varchar2(13)
这两张表 dept是主表 emp是子表,关联的列是deptno
dept表现有数据
Oracle inner join、left join、right join 、+左边或者右边的区别
 
 
 
emp表现有数据
 Oracle inner join、left join、right join 、+左边或者右边的区别
 
 
inner join 意思是内连接 把匹配的信息全部查出来
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e innerjoin dept d on e.deptno=d.deptno orderby e.empno;
查询的结果:
Oracle inner join、left join、right join 、+左边或者右边的区别
 
left join 左连接 意思是包含左边表所有记录,右边所有的匹配的记录,如果没有则用空补齐
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e leftjoin dept d on e.deptno=d.deptno orderby e.empno;
解释SQL :这条SQL语句左边是EMP表 左连接结果查询出EMP所有的记录,然后根据左边表匹配出右边表DEPT所有的记录
 
查询结果如下: 
Oracle inner join、left join、right join 、+左边或者右边的区别
 
 
right join 右连接  意思是包括右边表所有记录,匹配左边表的记录,如果没有则以空补齐
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e rightjoin dept d on e.deptno=d.deptno orderby e.empno;
解释SQL:这条SQL语句EMP在左边,DEPT在右边,然后我们采用右连接,就查出右边表所有的数据
 
查询结构:
 
full join  全连接 意思是左右表所有的记录全部显示出来
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e fulljoin dept d on e.deptno=d.deptno orderby e.empno;

解释SQL:这条SQL语句采用全连接,查询出左表和右表所有的值出来

查询结果:
Oracle inner join、left join、right join 、+左边或者右边的区别
 
 
介绍Oracle +连接方式及说明
 
+在左边 为右连接
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname
from emp e,dept d where e.deptno(+)=d.deptno orderby e.empno;
查询结果:
 
Oracle inner join、left join、right join 、+左边或者右边的区别
+在右边 为左连接
SQL>select e.empno,e.ename,e.job,d.deptno,d.dname from emp e,dept d  where e.deptno=d.deptno(+) orderby e.empno; 
 
查询结果:
 
Oracle inner join、left join、right join 、+左边或者右边的区别

Oracle inner join、left join、right join 、+左边或者右边的区别的更多相关文章

  1. Oracle中join left,join right,inner join,(+) 等

    Oracle中join left,join right,inner join,(+) 等 博客分类: Oracle   建表create table TEST1create table TEST1(  ...

  2. Oracle学习笔记:a inner join b与from a,b where a.x=b.x的差异

    近期,在使用Oracle的过程中,由以下两段代码的执行引发的思考,到底 select * from a,b where a.id = b.id 和 select * from a inner join ...

  3. oracle多表连接方式Hash Join Nested Loop Join Merge Join

    在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理. 一.连接方式:        嵌套循环(Nested  Loops (NL) ...

  4. Oracle 表的连接方式(1)-----Nested loop join和 Sort merge join

    关系数据库技术的精髓就是通过关系表进行规范化的数据存储,并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理. 表的三种关联方式: nested loop:从A表抽一条记录,遍历B表查找匹配 ...

  5. 【Oracle】SQL的各种连接join

    SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 JOIN 类型: INNER JOIN(简单的 JOIN).LEFT JOIN.RIGHT JOIN.F ...

  6. SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。

    语法 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表可 ...

  7. 图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别

    对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...

  8. left join 和 left outer join 的区别

    left join 和 left outer join 的区别 通俗的讲:    A   left   join   B   的连接的记录数与A表的记录数同    A   right   join   ...

  9. SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

    原文链接:http://www.powerxing.com/sql-join/ 总的来说,四种JOIN的使用/区别可以描述为: left join 会从左表(shop)那里返回所有的记录,即使在右表( ...

随机推荐

  1. Lua知识备忘录

    最近对Lua很感兴趣,以下是本阶段学习的总结,包含三部分,一部分是基础语法,一部分是扩展和解释器嵌入,最后一部分是Lua小练习. 知识涉及:Lua语言编程基础:Lua&C++:Lua扩展.嵌入 ...

  2. 以Server模式启动Derby服务竟然抛套接字权限异常

    以Server模式启动Derby服务竟然抛套接字权限异常:access denied ("java.net.SocketPermission" "localhost:15 ...

  3. 转载RabbitMQ入门(4)--路由

    路由 (使用Java客户端) 在先前的指南中,我们建立了一个简单的日志系统.我们可以将我们的日志信息广播到多个接收者. 在这部分的指南中,我们将要往其中添加一个功能-让仅仅订阅一个消息的子集成为可能. ...

  4. 7 种流行 PHP IDE 的比较

    编写关于 PHP 的系列文章让我更加深刻地了解了 PHP 开发人员的世界.我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE.大多数程序员使用文本编辑器,比如 Microsoft® ...

  5. Android - 用Fragments实现动态UI - 创建Fragment

    你可以把fragment当作activity中的一个活动模块,它有自己的生命周期,自己接收输入消息,可以在activity运行的时候添加和删除(就像可以在其他activity中重用的"子ac ...

  6. python3之运算符

    1.python算术运算符 >>> a=15 >>> b=5 >>> a+b #加 20 >>> a-b #减 10 >& ...

  7. 27、 jq 拖拽

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  8. Python全栈之路----函数----内置方法

    Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod ...

  9. python 全栈开发,Day105&lpar;路飞其他数据库表结构&comma;立即结算需求&rpar;

    考试第三部分:Django 16.  列列举你熟悉的Http协议头以及作用.(1分) Accept-Charset: 用于告诉浏览器,客户机采用的编码 Host: 客户机通过这个头告诉服务器,想访问的 ...

  10. ASP&period;NET MVC Area 区域

    大型网站或项目通常有很多子系统或功能模块,如大型网站可能包含酒店.旅游.机票子系统,通过二级域名来访问,或者一个网站的前台和后台模块,每个团队负责某一子系统或模块,为了各团队进行协同开发,我们可以分不 ...