zoukankan      html  css  js  c++  java
  • DB2数据库的外连接(OUTER JOIN),内连接(INNER JOIN)和交叉连接(CROSS JOIN)区别

    1、交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积,返回记录的个数应当是a和b表中符合记录的和。
     
    显式:select [cols_list] from a cross join b where [condition]
    隐式:select [cols_list] from a b where [condition]
     
     
    2、内连接(INNER JOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行,和我们写普通的sql相同。
     
    显式:select [cols_list] from a inner join b on [condition] where [condition]
    隐式:select [cols_list] from a b where [condition]
     
    3、外连接(OUTER JOIN):外连不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。外连接分三类:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和全外连接(FULL OUTER JOIN)。 三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。不同点如下: 左外连接还返回左表中不符合连接条件单符合查询条件的数据行。 右外连接还返回右表中不符合连接条件单符合查询条件的数据行。 全外连接还返回左表中不符合连接条件单符合查询条件的数据行,并且还返回右表中不符合连接条件单符合查询条件的数据行。全外连接实际是上左外连接和右外连接的数学合集(去掉重复),即“全外=左外 UNION 右外”。 说明:左表就是在“(LEFT OUTER JOIN)”关键字左边的表。右表当然就是右边的了。在三种类型的外连接中,OUTER 关键字是可省略的
     
    如:select [cols_list] from a left join b on [condition] where [condition]
     
    多个表的情况可以用:
    select [cols_list] from a left join b on [condition] inner join c on [condition] where [condition]
    来源:http://blog.csdn.net/huoyin/article/details/5788265
  • 相关阅读:
    第五周项目4-静态成员应用
    第五周项目3-用多文件组织多个类的程序
    python的wraps函数
    python函数加括号于不加括号的区别
    socket.error: [Errno 10048]
    tensorflow的MNIST教程
    cidr地址段
    mongodb数据库的存储问题
    搭建巡风扫描器
    mongodb的数据库,集合,数据可介绍。
  • 原文地址:https://www.cnblogs.com/Ly426/p/4312700.html
Copyright © 2011-2022 走看看