zoukankan      html  css  js  c++  java
  • 左连接与右连接

    左连接与右连接

    多表查询即连接查询,通过外键去连接。

    内连接查询inner join: 只返回两个表中跟联结字段(外键)相等的记录;从左边的表往右边的表查找能匹配的记录,无匹配的记录行不显示。
    SQL语句:select 表名1.,表名2. from 表名1 inner join 表名2 on (表名1.列名=表名2.列名);

    外连接outer join
    left join(左联接): 以左表为基准,返回包括左表中的所有记录和右表中跟联结字段相等的记录,即包含所有的左边表中的所有记录,右边表中和它匹配的记录。左右两张表按某个列进行关联查找,左连接以左边的表为基础表,基础表的数据全部都查找出来,右边的表如果有和左边的表的条件相符的数据就查找出来,如果条件不相接符就用null显示。
    left outer join left join
    SQL语句:select 表名1.,表名2. from 表名1 left outer join 表名2 on (表名1.列名=表名2.列名);

    right join(右联接):以右表为基准,返回包括右表中的所有记录和左表中跟联结字段相等的记录,即包含所有的右边表中的所有记录,左边表中和它匹配的记录。
    right outer join right join
    select 表名1.,表名2. from 表名1 right outer join 表名2 on (表名1.列名=表名2.列名);

    示例:
    A表(a1,b1,c1) B表(a2,b2)
    a1 b1 c1 a2 b2
    数学 95 01 01 张三
    语文 90 02 02 李四
    英语 80 04 03 王五

    内连接:
    SQL语句: select a.,b. from a,b where a.c1=b.a2;
    执行结果如下图所示:

    SQL语句:select a.,b. from a inner join b on(a.c1=b.a2);
    执行结果如下图所示:

    左连接:
    SQL语句:select A.,B. from A left outer join B on(A.c1=B.a2);
    执行的结果如下图所示:

    右连接:select A.,B. from A right outer join B on(A.c1=B.a2);
    执行的结果如下图所示:

  • 相关阅读:
    使用物化视图的方式进行表级数据同步示例
    【闲谈】我的大学
    firefox的window.onerror没有详细的出错提示
    完全搞懂傅里叶变换和小波(3)——泰勒公式及其证明
    [VC6 console]调用API获取手机归属地
    灰度直方图及处理“cvQueryHistValue_1D”: 找不到标识符”的问题(上)
    【高级】C++中虚函数机制的实现原理
    jquery小例子
    VBA Promming——入门教程
    Wikidata和SparQL简介
  • 原文地址:https://www.cnblogs.com/xianmin/p/14017000.html
Copyright © 2011-2022 走看看