zoukankan      html  css  js  c++  java
  • 联合查询时需注意

    用inner join 联合查询的时候需要注意,如果一个表中一个连接外表的字段为空,这条记录不会被查询出来,只会返回两个连接表中字段相等的记录。下面为inner join;left join;right join 的区别

    inner join(等值连接) 只返回两个表中联结字段相等的行
    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
    right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录

    举例说明:

    [TEST@ORA1] SQL>select * from a;

    编号 姓名
    ---- ----------
    1000 张三
    2000 李四
    3000 王五

    [TEST@ORA1] SQL>select * from b;

    编号 商品
    ---- ----------
    1000 电视机
    2000 录像机
    4000 自行车

    [TEST@ORA1] SQL>select a.*,b.* from a inner join b on a.编号=b.编号;

    编号 姓名       编号 商品
    ---- ---------- ---- ----------
    1000 张三       1000 电视机
    2000 李四       2000 录像机

    [TEST@ORA1] SQL>select a.*,b.* from a left join b on a.编号=b.编号;

    编号 姓名       编号 商品
    ---- ---------- ---- ----------
    1000 张三       1000 电视机
    2000 李四       2000 录像机
    3000 王五       空值 空值

    [TEST@ORA1] SQL>select a.*,b.* from a right join b on a.编号=b.编号;

    编号 姓名       编号 商品
    ---- ---------- ---- ----------
    1000 张三       1000 电视机
    2000 李四       2000 录像机
    空值 空值       4000 自行车

    [TEST@ORA1] SQL>select a.*,b.* from a full join b on a.编号=b.编号;

    编号 姓名       编号 商品
    ---- ---------- ---- ----------
    1000 张三       1000 电视机
    2000 李四       2000 录像机
    3000 王五       空值 空值
    空值 空值       4000 自行车

  • 相关阅读:
    构建之法阅读笔记04
    团队项目
    构建之法阅读笔记03
    第6周学习进度
    求最大子数组03
    四则运算4(完结)
    第5周学习进度
    敏捷开发概述
    第4周学习进度
    构建之法阅读笔记01
  • 原文地址:https://www.cnblogs.com/zlytu/p/2381474.html
Copyright © 2011-2022 走看看