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

    实例和结果略。

  • 相关阅读:
    eclipse运行纯servlet程序
    VS中lib和dll
    eclipse部署web项目至本地的tomcat但在webapps中找不到
    【2018.07.28】(字符串/回文串)学习Manacher算法小记
    【2018.07.26】建立博客~
    【2018.07.27】(字符串/找相同)学习KMP算法小记
    [转]数据库范式那些事
    [转]Windows平台下的多线程编程
    mondrian schema学习(1)
    [转]SQL查询入门
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/11263495.html
Copyright © 2011-2022 走看看