Oracle inner join、left join、right join 、+左边或者右边的区别
我们以Oracle自带的表来做例子
主要两张表:dept、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) |
| name | null? | Type |
| deptno | not null | number(2) |
| dname | varchar2(14) | |
| log | varchar2(13) |


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;

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>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>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语句采用全连接,查询出左表和右表所有的值出来

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;

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中join left,join right,inner join,(+) 等
Oracle中join left,join right,inner join,(+) 等 博客分类: Oracle 建表create table TEST1create table TEST1( ...
- 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 ...
- oracle多表连接方式Hash Join Nested Loop Join Merge Join
在查看sql执行计划时,我们会发现表的连接方式有多种,本文对表的连接方式进行介绍以便更好看懂执行计划和理解sql执行原理. 一.连接方式: 嵌套循环(Nested Loops (NL) ...
- Oracle 表的连接方式(1)-----Nested loop join和 Sort merge join
关系数据库技术的精髓就是通过关系表进行规范化的数据存储,并通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理. 表的三种关联方式: nested loop:从A表抽一条记录,遍历B表查找匹配 ...
- 【Oracle】SQL的各种连接join
SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 JOIN 类型: INNER JOIN(简单的 JOIN).LEFT JOIN.RIGHT JOIN.F ...
- SQL JOIN语法,以及JOIN where 和and区别,还有where和join效率问题。
语法 join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据. Join 和 Key 有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join. 数据库中的表可 ...
- 图解SQL的inner join(join)、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Codin ...
- left join 和 left outer join 的区别
left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join ...
- SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)
原文链接:http://www.powerxing.com/sql-join/ 总的来说,四种JOIN的使用/区别可以描述为: left join 会从左表(shop)那里返回所有的记录,即使在右表( ...
随机推荐
- shell ps1 提示设置
PS1="\[\033[01;37m\]\u\[\033[00m\]@\[\033[01;31m\]localhost \t\[\033[00m\]:\[\033[01;35m\]\w\[\ ...
- struts2笔记11-OGNL
1.OGNL Object-Graph Navigation Language,对象-图 导航语言,可以方便的操作struts2值栈对象 2.对象栈操作方法 (1)action普通属性的访问方法 &l ...
- Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015
I usually avoid writing articles about building a specific version of a software project but this ti ...
- 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序
很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...
- java的几个版本以及jre,jdk等概念——【转载】JDK、Java SE、Java EE、Java ME我该选
我们平时使用的一些软件,有一部分需要Java环境的支持,但是SUN那么多的产品,让人眼花缭乱的版本号,前看后看都差不多的缩写,让我们选择起来的时候常常望而却步,只好跟着感觉走.所以下面我要介绍的就是那 ...
- kernal linear regression
- UCS2转UTF-8方法
前两天工作时需要将UCS2编码转为UTF-8编码在网页显示.网上找了好久没有好方法,后来还是同事给了一个自己的函数,顺利解决问题.把函数贴在这里,愿帮助遇到同样问题的工友们~ /** * U ...
- C# 4.0 新特性-dynamic 【转】
前段时间看过一些关于dynamic这个C#4中的新特性,看到有些朋友认为dynamic的弊大于利,如无法使用编译器智能提示,无法在编译时做静态类型检查,性能差等等.因此在这篇文章中我将就这些问题来对d ...
- ProductHunt:创业公司产品猎场和秀场
Product模式介绍 ProductHunt(站点www.producthunt.com)是一个国外新出现的创业公司产品展示和交流平台, 顾名思义.对于创业者而言这里是一个秀场,而对于投资人而言这里 ...
- C# in Depth阅读笔记2:C#2特性
1.方法组转换 c#2支持一个从方法组到兼容委托类型的隐式转换,即如: button.click+=new eventhandler(logevent)可以写成 button.click+=logev ...