zoukankan      html  css  js  c++  java
  • 第七章 集合运算 7-2 联结(以列为单位对表进行联结)

    一、什么是联结
    联结(JOIN)就是将其他表中的列添加过来,进行“添加列”的集合。
     
    二、内联结——INNER JOIN
    1、内联结要点1️⃣FROM子句
    进行联结时需要在FROM子句中使用多张表。为了提高SQL的可读性,一般表名需要使用别名。
     
    2、内联结要点2️⃣ON子句
    ON之后指定两张表联结所使用的列(联结键)。需要指定多个键时,同样可以使用AND和OR。
    进行内联结时,ON子句是必不可少的,并且必须写在FROM和WHERE之间。
     
    3、内联结要点3️⃣SELECT子句
    为了避免混乱, 还是希望大家能够在使用联结时按照“< 表的别名 >.< 列名 >”的格式来书写 SELECT 子句中全部的列。
     
    4、内联结和WHERE子句结合使用
    使用联结运算将满足相同规则的表联结起来时,WHERE、 GROUP BY、HAVING、ORDER BY等工具都可以正常使用。我们可以将联结之后的结果想象为新创建出来的一张表,对这张表使用 WHERE 子句等工具。
    这张“表”只在SELECT语句执行期间存在。SELECT语句执行之后就会消失。
     
    三、外联结——OUTER JOIN
    左外联结:LEFT OUTER JOIN
    右外联结:RIGHT OUTER JOIN
    1、外联结要点1️⃣选取出单张表中全部的信息
    在实际业务中,如果想要生成固定行数的单据,就需要使用外联结。
    外联结名称的由来也跟NULL有关,即“结果中包含原表中不存在(在原表之外)的信息”。
     
    2、外联结要点2️⃣每张表都是主表吗?
    外联结把哪张表作为主表,最终结果就会包含主表内所有的数据。
    指定主表的关键词是LEFT和RIGHT。
    LEFT左侧的是主表,RIGHT右侧的是主表。
     
    四、3张表以上的联结
    通常联结只涉及2张表,但有时也会出现必须同时联结3张以上表的情况。
    原则上联结表的数量没有限制。
     
    五、交叉联结——CROSS JOIN
    交叉联结是所有联结的运算基础。但在实际的业务中并不会使用。
    对满足相同规则的表进行交叉联结的集合运算符是CROSS JOIN(笛卡尔积)。结果中的记录时两张表中行数的乘积。
    注:内联结是交叉联结的一部分,“内”也可以理解为“包含在交叉联结结果中的部分”。相反,外联结的“外”可以理解为“交叉联结结果之外的部分”。【不理解】
     
    六、联结的特定语法和过时语法
    不推荐使用,了解即可。
     
    七、关系除法???
    集合运算中的除法通常称为关系除法。DIVIDE除
    注:除法运算是集合运算中最复杂的运算,但是其在实际业务中的应用十分广泛,希望达到中级以上水平掌握其使用方法。
     
     

  • 相关阅读:
    Linux下如何从mysql数据库里导出导入数据
    安装好Pycharm后如何配置Python解释器简易教程
    Windows离线安装Python第三方库的方法
    时间输入框的测试方法
    doc转html
    pdf转png图片
    html转pdf
    html转pdf
    复习 注解反射
    Mybatis实现插入数据的时候将主键赋值给对象的两种方法
  • 原文地址:https://www.cnblogs.com/mumulin99/p/9837282.html
Copyright © 2011-2022 走看看