zoukankan      html  css  js  c++  java
  • Oracle内链接+外连接详解

    inner join(内连接)

    内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据。也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的两源表行,必须满足ON子句中的搜索条件。作为对照,如果在源表中的行在另一表中没有对应(相关)的行,则该行就被过滤掉,不会包括在结果表中。内连接使用比较运算符来完成。内连接可分为两种。

    1. 等值连接

    使用等于号(=)比较被连接列的列值,在查询结果中列出被连接表中的所有列,包括其中的重复列。图9.12给出了典型的等值内连接示意图。

    clip_image003

    图4.2.3.1 等值内连接

    实例1 使用INNER JOIN内连接查询

    实验:

    clip_image005

    1.1自然连接(特殊的等值连接)相同列合并

    clip_image007

    2. 不等连接

    在连接条件中,可以使用其他比较运算符,比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。

    实验:

    clip_image009

    4.1.3 外连接(OUTER JOIN)

    不管是内连接还是带WHERE子句的多表查询,都组合自多个表,并生成结果表。换句话说,如果任何一个源表中的行在另一个源表中没有匹配,DBMS将不把该行放在最后的结果表中。

    而外连接告诉ODBC生成的结果表,不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行。

    SQL的外连接共有3种类型:左外连接,关键字为LEFT OUTER JOIN、右外连接,关键字为RIGHT OUTER JOIN和全外连接,关键字为FULL OUTER JOIN。外连接的用法和内连接一样,只是将INNER JOIN关键字替换为相应的外连接关键字即可。

    说明 使用外连接时,关键字OUTER是可选的,如可用LEFT JOIN替代LEFT OUTER JOIN。

    下面分别介绍一下这几种外连接方式。

    4.1.3.1左外连接

    左外连接,LEFT OUTER JOIN,告诉DBMS生成的结果表中,除了包括匹配行外,还包括JOIN关键字(FROM子句中)左边表的不匹配行。左外连接实际上可以表示为:

    左外连接 = 内连接 + 左边表中失配的元组

    其中,缺少的右边表中的属性值用NULL表示。

    clip_image010

    图4.2.31 左外连接

    实验:

    clip_image012

    4.1.3.2右外连接

    右外连接(RIGHT OUTER JOIN)告诉DBMS生成的结果表中,除了包括匹配行外,还包括JOIN关键字(FROM子句中)右边表的不匹配行。右外连接实际上可以表示为:

    右外连接 = 内连接 + 右边表中失配的元组

    其中,缺少的左边表中的属性值用NULL表示。图9.20给出了典型的右外连接示意图。

    clip_image013

    图4.2.3.2 右外连接

    实验:

    clip_image015

    4.1.3.3全外连接

    全外连接,FULL OUTER JOIN,告诉DBMS生成的结果表中,除了包括匹配行外,还包括JOIN关键字(FROM子句中)左边表和右边表的不匹配行。全外连接实际上可以表示为:

    全外连接 = 内连接 + 左边表中失配的元组 + 右边表中失配的元组。

    其中,缺少的左边表或者右边表中的属性值用NULL表示。图9.23给出了典型的全外连接示意图。

    clip_image016

    图4.2.3.3 全外连接

    实验:

    clip_image018

  • 相关阅读:
    Python源码阅读(一、环境准备)
    PDF ITextSharp
    模式对话框 打开文件
    MongoDB 最初级步骤
    DataGrid中取HyperLinkColumn列的值,处理DataGrid中绑定的特殊字符
    oracle 将科学计数法数据转换为非科学计数法数据
    Eval 表达式 GridView ItemCommand
    回车,根据编码获取相应记录,然后再将这录绑定到AutoList
    MongoDB 日期 插入时少8小时
    日期给空值
  • 原文地址:https://www.cnblogs.com/xiaweifeng/p/3683622.html
Copyright © 2011-2022 走看看