zoukankan      html  css  js  c++  java
  • INNER JOIN——内联结

    前面我们学习了UNION 和INTERSECT 等集合运算,这些集合运算的特征就是以行方向为单位进行操作。通俗地说,就是进行这些集合运算时,会导致记录行数的增减。使用UNION 会增加记录行数,而使用INTERSECT 或者EXCEPT 会减少记录行数。

    但是这些运算不会导致列数的改变。作为集合运算对象的表的前提就是列数要一致。因此,运算结果不会导致列的增减。

    而JOIN——联结 运算是将其他表中的列添加过来,进行“添加列”的运算。

    A:两张表中都包含的列  B:只存在于一张表内的列

    所谓联结运算,一言以蔽之,就是“以A中的列作为桥梁,将 B中满足同样条件的列汇集到同一结果之中

    ●内联结要点① ——FROM子句

    使用关键字 INNER JOIN 就可以将两张表联结在一起了。

    小结:进行联结时需要在FROM子句中使用多张表。

    ●内联结要点② —— ON子句

    第二点要注意的是 ON 后面的联结条件,我们可以在 ON 之后指定两张表联结所使用的列(联结键)。

    ON 是专门用来指定联结条件的,它能起到与 WHERE 相同的作用。需要指定多个键时,同样可以使用 AND、OR。在进行内联结时 ON 子句是必不可少的(如果没有 ON会发生错误),并且 ON 必须书写在 FROM 和 WHERE 之间

    小结:进行内联结时必须使用ON子句,并且要书写在FROM和WHERE之间。

    ●内联结要点③ ——SELECT子句

    和使用一张表时不同,由于多表联结时,某个列到底属于哪张表比较容易混乱,因此采用“< 表的别名 >.< 列名 >”的形式来指定列

    小结:使用联结时SELECT子句中的列需要按照“<表的别名>.<列名>”的格式进行书写。

    内联结和WHERE子句结合使用

    像这样使用联结运算将满足相同规则的表联结起来时,WHERE、GROUP BY、HAVING、ORDER BY 等工具都可以正常使用。

  • 相关阅读:
    vue input输入框验证10的n次方
    Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结
    数据结构(四):树
    数据结构(三):队列
    数据结构(二):栈
    数据结构(一):链表
    python深拷贝与浅拷贝
    python yield、yield from与协程
    python __getattribute__、__getattr__、__setattr__详解
    python迭代、可迭代对象、迭代器及生成器
  • 原文地址:https://www.cnblogs.com/philipchan/p/14335922.html
Copyright © 2011-2022 走看看