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 可以省略.

    实例和结果略。

  • 相关阅读:
    最近项目中遇到的一个算法挑战
    编程艺术之美,代码也玩穿越
    算法设计之部门消息通知机制
    解决系统迁移到windows 2003 64位服务器后引发的几个小问题
    我的IT成长历程
    a标签各种状态下的样式
    页面底部按钮被顶起问题
    ios点击input输入框,键盘弹出,此时滑动页面,光标位移
    解决移动端弹窗滚动事件触发主页面滚动事件
    浏览器记住密码之后,input背景变黄
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11263495.html
Copyright © 2011-2022 走看看