我们以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表现有数据

 
 
 
emp表现有数据
 
 
 
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;
查询的结果:
 
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所有的记录
 
查询结果如下: 
 
 
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 +连接方式及说明
 
+在左边 为右连接
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的四种连接方式【转载】的更多相关文章

  1. Oracle 表三种连接方式(sql优化)

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

  2. sql的四种连接方式

    1.内联接.(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students ...

  3. Map集合的四种遍历方式(转载)

    import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { pu ...

  4. SQL中的四种连接方式

    转自:http://www.cnblogs.com/afirefly/archive/2010/10/08/1845906.html 联接条件可在FROM或WHERE子句中指定,建议在FROM子句中指 ...

  5. Oracle 的四种连接-左外连接、右外连接、内连接、全连接

      今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在视图上设置各列的排序和筛选条件就可以 ...

  6. sql四种连接方式

    1.内连接(inner  join)只有两个表相匹配的行才能在结果集中显示出来2.左连接(left  join)以左表为主,左表所有的数据都会在结果集中出现,右表根据左表对应的数据显示,与左表匹配的数 ...

  7. oracle的三种连接方式

    1.通过sid jdbc:oracle:thin:@host:port:SID Example: jdbc:oracle:thin:@localhost:1521:sid_test 2.通过servi ...

  8. mysql三种连接方式

    sql四种连接方式demo: 表a 表b a.id与b.parent_id有关系 1.内连接:SELECT a.*,b.* from a INNER JOIN b ON a.id=b.parent_i ...

  9. Java连接Oracle数据库的三种连接方式

    背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...

随机推荐

  1. ViewPager(视图滑动切换工具)

    <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.Cons ...

  2. springmvc与html之间的Json交互

    1.配置pom.xml 错误信息:The container 'Maven Dependencies' references non existing library 解决方案:下图的checkbox ...

  3. Git建立独立分支

    前言 在码云建立git项目后默认分支是master, 这里如果直接在码云新建分支, 会指定默认分支; 所以通过git 命令git checkout --orphan 新分支名 创建独立分支 创建 创建 ...

  4. Ora-03113\Ora-03114与Oracle In 拼接字符串的问题

    刚深入接触Oracle不久(大学里以及刚参加工作时学到的Oracle知识只能算是皮毛),因为之前使用SqlServer有将近两年的时间,对SqlServer相对来说很熟悉,比较而言,Oracle真心很 ...

  5. SQLServer数据库系统概念

    数据模型是一种抽象模型,现实世界中的客观事物是彼此相互联系的 (1)数据模型是一组集成的概念,用户描述和操作组织内的数据,数据间的联系以及对数据的约束,它包含了数据结构,数据操作和完整性约束 (2)概 ...

  6. web 开发人员必须学习的 3 门语言

    web 开发人员必须学习的 3 门语言:html  css  js HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的行为

  7. 新版qq canvas 动态背景

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. ThreeJS文字作为纹理贴图

    文字作为纹理贴图 From:http://www.linhongxu.com/post/view?id=222 这里可以使用canvas作为纹理贴图,Three为我们提供里CanvasTexture ...

  9. 淘宝 NPM 镜像

    使用说明 : 更多见  https://npm.taobao.org 你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm: $ npm install -g cnpm ...

  10. Compiling a kernel module for the raspberry pi 2 via Ubuntu host

    Compiling a kernel module for the raspberry pi 2 via Ubuntu host Normally compiling a kernel module ...