zoukankan      html  css  js  c++  java
  • sql外连接

    http://hi.baidu.com/69hwj/blog/item/a63eaadd8ca126ea76c638a5.html

     

    在讲外连接之前,先举例介绍内连接,也就是一般的相等连接。

    select * from a, b where a.id = b.id;

    对于外连接,Oracle中可以使用“(+)”来表示,9i可以使用LEFT/RIGHT/FULL OUTER JOIN,下面将配合实例一一介绍。

    1. LEFT OUTER JOIN:左外关联

    SELECT e.last_name, e.department_id, d.department_name
                     FROM employees e
                     LEFT OUTER JOIN departments d
                     ON (e.department_id = d.department_id);

    等价于

    SELECT e.last_name, e.department_id, d.department_name
                     FROM employees e, departments d
                     WHERE e.department_id=d.department_id(+);

    结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录。

    因该理解为:选择所有的员工记录,加上"department_name"字段,如果没有该字段的,试用Null来填补,目的是为了查看所有员工的信息.

    2. RIGHT OUTER JOIN:右外关联

    SELECT e.last_name, e.department_id, d.department_name
                     FROM employees e
                     RIGHT OUTER JOIN departments d
                     ON (e.department_id = d.department_id);

    等价于

    SELECT e.last_name, e.department_id, d.department_name
                     FROM employees e, departments d
                     WHERE e.department_id(+)=d.department_id;

    结果为:所有员工及对应部门的记录,包括没有任何员工的部门记录。

    3. FULL OUTER JOIN:全外关联

    SELECT e.last_name, e.department_id, d.department_name
                     FROM employees e
                     FULL OUTER JOIN departments d
                     ON (e.department_id = d.department_id);

    结果为:所有员工及对应部门的记录,包括没有对应部门编号department_id的员工记录和没有任何员工的部门记录。

    ==============

    left主表全选   right从表全选

    (+)在从表主键上,表示left

    full outer join 没有简化模式

  • 相关阅读:
    react.js+axios跨域
    O2O项目之一 环境搭配
    跟scss相关的两个包
    [nodemon] app crashed
    解决node.js链接数据库时出现的报错 --- client does not support authentication
    在Xshell 运行angular 项目时,找不到node-sass模块,安装node-sass模块时,又出现权限问题
    ajax请求数据时,get和post的区别
    web前端如何性能优化提高加载速度
    js数组去重
    前端跨域
  • 原文地址:https://www.cnblogs.com/mabaishui/p/1787642.html
Copyright © 2011-2022 走看看