zoukankan      html  css  js  c++  java
  • 表连接

      初学SQL表连接的时候,什么笛卡尔积,左连接,右连接看的头都大了

      后来看了《SQL Server技术内幕2008:T-SQL查询》之后,豁然开朗。今天写数据库又用到了表连接,印象有点模糊了,赶紧找地方写下来先。

      所谓的笛卡尔积其实就是多行数据交叉连接。

      例如

    A     1        与            M      3                                  A       1      N       4

    B     2                        N       4  进行笛卡尔积得      A       1      M      3

                                                                                    B        2      N      4

                                                                                    B        2      M      3

       其实表连接总共就4种连接,分别是交叉连接,内连接,外连接和多表连接

       1.交叉连接        关键字(cross join)

           交叉连接就是两表进行笛卡尔积获得的结果集

      2.内连接      关键字(inner join)

           内连接就是两表进行笛卡尔积的结果再通过“on”条件进行筛选后得到的结果集

      3.外连接      关键字(left join  ,right join)

           有时候我们希望两个表进行笛卡尔积并筛选后,可以保留其中一个表不符合条件的行,于是外连接就应运而生了。可以把外连接理解为两个表进行笛卡尔积并筛选后,再根据关键字(left还是right)选择将左表或右表不符合条件的列置为null并显示出来

       4.多表连接    关键字(union all)

            这个就没什么好说的了,列数和数据类型的多个表按照从上到下的顺序(这样说其实不准确,结果集是没有先后顺序的)依次落起来就完了。

  • 相关阅读:
    集训队日常训练20180518-DIV1
    集训队日常训练20180513-DIV1
    python类的使用与多文件组织
    性能指标
    python调用.so
    动态链接库的使用
    python读写xml文件
    使用python读取文本中结构化数据
    python画图
    numpy及scipy的使用
  • 原文地址:https://www.cnblogs.com/qiuyeyaozhuai/p/2740418.html
Copyright © 2011-2022 走看看