目录

  • 表的加减法

  • 联结(以列为单位)

 

一、表的加减法

  1.集合:记录的集合(表、视图和查询的执行结果)。

 

  2.UNION(并集):表的加法

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训 初始化测试数据

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 图

  并集图,会移除重复的记录。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

  3.注意事项:

  (1)作为运算对象的记录的列数必须相同

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:列数不匹配

  (2)作为运算对象的记录中列的类型必须一致

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:类型不一致

  【备注】可以使用类型转换函数 CAST

 

  4.ALL 选项 - 包含重复行的集合运算

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:保留重复行

 

   5.INTERSECT(交集) - 选取表中公共的部分

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

   类似该并集图:

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

  6.EXCEPT(差集) - 记录的减法

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  需要注意,被减数和减数的位置调换,结果是不同的:

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

二、联结(以列为单位)

  1.上一节集合运算的特征是以“行方向”为单位操作,在进行集合运算时会导致记录行数的增减,不过队列不会影响,因为它们的列数要一致。

  2.联结(JOIN)运算:“添加列”的运算,从其它表的列添加过来。

  3.INNER JOIN - 内联结

  联结运算:以 A 表中的列作为桥梁,将 B 表中满足同样条件的列汇集到同一结果中。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  要点:

    ①FROM 子句:FROM dbo.TenpoShohin AS TS INNER JOIN dbo.Shohin AS S 

    这里使用 INNER JOIN 将两张表关联起来,TS 和 S 分别是两张表的别名,可以增强表的可读性。

    ②ON 子句:ON S.shohin_id = TS.shohin_id

    ON 后面记载的是联结条件,联结两张表所使用的的列,可以称为联结键。

    这是一个比较直观的例子,两个小镇,中间隔了一条河,通过 ON 子句作为他们两者之间的桥梁。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

    ③SELECT 子句:SELECT TS.tenpo_id ,TS.tenpo_mei ,S.shohin_mei ,S.hanbai_tanka

    采用“<表的别名>.<列名>”格式来显示,这样就可以清楚的知道该列来自哪张表。

 

  4.OUTER JOIN - 外联结

  photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  (1)要点:

    ①选取出单张表中全部的信息

    与之前的内联表相比,15 行比之前 13行多了 2 行。因为多出的 2 条记录在 TenpoShohin 表并不存在。内联结只能选取出同时存在于两张表中的数据,而外联结,只要数据存在某一张表中,就能够读取出来。也就是说,希望生成固定行数的记录,就需要使用外联结。

    ②主表的选择

    最终的结果只会包含主表内所有的数据。指定主表的关键字是 LEFT 和 RIGHT,使用 LEFT 时左侧的表为主表,使用 RIGHT 时右侧的表为主表(如上图的 Shohin 表)。

  【备注】外联结使用 LEFT 和 RIGHT 来指定主表。

 

  5.多张表的联结

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训 初始化测试数据

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  3 表联结就是多 1 行 JOIN 子句而已,多表联结就多几行 JOIN 字句呗。

 

  6.CROSS JOIN(笛卡儿积)- 交叉联结

  这种联结在实际业务中很少使用。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  TenpoShohin 表 13 条记录, Shohin 表 8 条记录,13*8=104 条记录。

 

备注

  这里采用 MS SQL Server 进行验证,不保证所有的 DBMS 执行结果正确。

  本章思维导图下载

 

《SQL 基础知识梳理》系列

  《SQL 基础知识梳理(一) - 数据库与 SQL

  《SQL 基础知识梳理(二) - 查询基础

  《SQL 基础知识梳理(三) - 聚合和排序

  《SQL 基础知识梳理(四) - 数据更新

  《SQL 基础知识梳理(五) - 复杂查询

  《SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

  《SQL 基础知识梳理(七)- 集合运算

 

 


【博主】反骨仔

【原文】http://www.cnblogs.com/liqingwen/p/6575668.html 

【参考】《SQL ゼロからはじめるデータベース操作》

 

  • 感谢您的阅读。喜欢的、有用的就请大哥大嫂们赏几个小钱花花,没钱的就请高抬贵手“推荐一下”吧!你的物质和精神支持是博主强大的写作动力。欢迎转载!

  • 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。

  • 我的博客:http://www.cnblogs.com/liqingwen/

  • 博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!

目录

  • 表的加减法

  • 联结(以列为单位)

 

一、表的加减法

  1.集合:记录的集合(表、视图和查询的执行结果)。

 

  2.UNION(并集):表的加法

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训 初始化测试数据

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 图

  并集图,会移除重复的记录。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

  3.注意事项:

  (1)作为运算对象的记录的列数必须相同

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:列数不匹配

  (2)作为运算对象的记录中列的类型必须一致

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:类型不一致

  【备注】可以使用类型转换函数 CAST

 

  4.ALL 选项 - 包含重复行的集合运算

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

图:保留重复行

 

   5.INTERSECT(交集) - 选取表中公共的部分

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

   类似该并集图:

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

  6.EXCEPT(差集) - 记录的减法

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  需要注意,被减数和减数的位置调换,结果是不同的:

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

 

二、联结(以列为单位)

  1.上一节集合运算的特征是以“行方向”为单位操作,在进行集合运算时会导致记录行数的增减,不过队列不会影响,因为它们的列数要一致。

  2.联结(JOIN)运算:“添加列”的运算,从其它表的列添加过来。

  3.INNER JOIN - 内联结

  联结运算:以 A 表中的列作为桥梁,将 B 表中满足同样条件的列汇集到同一结果中。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  要点:

    ①FROM 子句:FROM dbo.TenpoShohin AS TS INNER JOIN dbo.Shohin AS S 

    这里使用 INNER JOIN 将两张表关联起来,TS 和 S 分别是两张表的别名,可以增强表的可读性。

    ②ON 子句:ON S.shohin_id = TS.shohin_id

    ON 后面记载的是联结条件,联结两张表所使用的的列,可以称为联结键。

    这是一个比较直观的例子,两个小镇,中间隔了一条河,通过 ON 子句作为他们两者之间的桥梁。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

    ③SELECT 子句:SELECT TS.tenpo_id ,TS.tenpo_mei ,S.shohin_mei ,S.hanbai_tanka

    采用“<表的别名>.<列名>”格式来显示,这样就可以清楚的知道该列来自哪张表。

 

  4.OUTER JOIN - 外联结

  photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  (1)要点:

    ①选取出单张表中全部的信息

    与之前的内联表相比,15 行比之前 13行多了 2 行。因为多出的 2 条记录在 TenpoShohin 表并不存在。内联结只能选取出同时存在于两张表中的数据,而外联结,只要数据存在某一张表中,就能够读取出来。也就是说,希望生成固定行数的记录,就需要使用外联结。

    ②主表的选择

    最终的结果只会包含主表内所有的数据。指定主表的关键字是 LEFT 和 RIGHT,使用 LEFT 时左侧的表为主表,使用 RIGHT 时右侧的表为主表(如上图的 Shohin 表)。

  【备注】外联结使用 LEFT 和 RIGHT 来指定主表。

 

  5.多张表的联结

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训 初始化测试数据

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  3 表联结就是多 1 行 JOIN 子句而已,多表联结就多几行 JOIN 字句呗。

 

  6.CROSS JOIN(笛卡儿积)- 交叉联结

  这种联结在实际业务中很少使用。

photoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训

  TenpoShohin 表 13 条记录, Shohin 表 8 条记录,13*8=104 条记录。

 

备注

  这里采用 MS SQL Server 进行验证,不保证所有的 DBMS 执行结果正确。

  本章思维导图下载

 

《SQL 基础知识梳理》系列

  《SQL 基础知识梳理(一) - 数据库与 SQL

  《SQL 基础知识梳理(二) - 查询基础

  《SQL 基础知识梳理(三) - 聚合和排序

  《SQL 基础知识梳理(四) - 数据更新

  《SQL 基础知识梳理(五) - 复杂查询

  《SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

  《SQL 基础知识梳理(七)- 集合运算

 

 


【博主】反骨仔

【原文】http://www.cnblogs.com/liqingwen/p/6575668.html 

【参考】《SQL ゼロからはじめるデータベース操作》

 

  • 感谢您的阅读。喜欢的、有用的就请大哥大嫂们赏几个小钱花花,没钱的就请高抬贵手“推荐一下”吧!你的物质和精神支持是博主强大的写作动力。欢迎转载!

  • 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。

  • 我的博客:http://www.cnblogs.com/liqingwen/

  • 博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的纯镀 24k 文章,请原谅博主成为一个无耻的文档搬运工!

http://www.cnblogs.com/liqingwen/p/6575668.html