zoukankan      html  css  js  c++  java
  • oracle 多表连接查询 join

    简介:

    多表连接查询通过表之间的关联字段,一次查询多表数据。

    下面将依次介绍 多表连接中的如下方法:

    1、from a,b

    2、inner join

    3、left outer join

    4、right outer join

    二、例子:

    以下采用oracle的scott用户中的两张表dept和emp举例,

    两个表的deptno字段关联。

    表结构如下:

    (1)、dept(部门表)

    (2)、emp(雇员表)

    1、from 表1,表2

    语法:select a.x,b.y from a,b where a.id=b.id;

    实例:

    返回所有满足where条件的行

    select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门
      from scott.emp a, scott.dept b
     where a.deptno = b.deptno;

    结果:

    2、inner join

    语法:select a.x from a inner join b on a.id=b.id;

    inner 可以省略.

    实例:

    select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门
      from scott.emp a  join  scott.dept b
     on a.deptno = b.deptno ;

    结果同上。

    3、left outer join

    查询结果除了返回包含连接条件的行,还包含左表(a)中不满足连接条件的行,

    其中不满足连接条件的行中b表的字段值将被置为空。

    语法:select a.x from a inner left outer join b on a.id=b.id;

    outer 可以省略.

    实例:

     select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门
      from scott.emp a left outer join  scott.dept b
     on a.deptno = b.deptno

    结果:

    当查询中出现过滤条件时:

    1)当连接条件后面有where条件时:

     select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门
      from scott.emp a left outer join  scott.dept b
     on a.deptno = b.deptno where b.dname like 'SALES'

    解释:先根据连接条件a.deptno = b.deptno查询,再对查询结果按过滤条件查询。

    结果:

    2)当连接条件后面有and条件时:

     select a.empno as 员工编号, a.ename as 员工名称, b.dname as 部门
      from scott.emp a left outer join  scott.dept b
     on (a.deptno = b.deptno and b.dname like 'SALES')

    解释:先对b表按过滤条件查询,再对结果执行左连接查询。

    结果:

    4 、right outer join 

    查询结果除了返回包含连接条件的行,还包含右表(b)中不满足连接条件的行,

    其中不满足连接条件的行中a表的字段值将被置为空。

    语法:select a.x from a inner right outer join b on a.id=b.id;

    outer 可以省略.

    实例和结果略。

  • 相关阅读:
    转:10分钟掌握XML、JSON及其解析
    转:关于C++14:你需要知道的新特性
    2014/11/4~2014/12/20阶段性目标
    转:快速掌握一个语言最常用的50%
    推荐!国外程序员整理的 C++ 资源大全
    数据库面试宝典
    sqlite学习
    android
    转:c的回归-云风
    原创: 开题报告中摘要部分快速将一段文字插入到word的表格中
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11263495.html
Copyright © 2011-2022 走看看