加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL SERVER 中的UNION查询及要点

发布时间:2020-12-12 12:35:41 所属栏目:MsSql教程 来源:网络整理
导读:在使用UNION处理查询时,有几个要点: 1、所有要进行UNION的查询,其SELECT列表中列的数量必须相同。如果第一个查询的列表中有3个列,那么第二个查询(以及所有进行UNION的后续查询)的SELECT列表也必须是3个列。 2、为合并的结果集返回的标头仅取自第一个查询

  在使用UNION处理查询时,有几个要点:

  1、所有要进行UNION的查询,其SELECT列表中列的数量必须相同。如果第一个查询的列表中有3个列,那么第二个查询(以及所有进行UNION的后续查询)的SELECT列表也必须是3个列。

  2、为合并的结果集返回的标头仅取自第一个查询。如果第一个查询的SELECT列表类似这样,SELECT Col1,Col2

  AS Second,Col3 FROM...,那么无论后续的查询中列的名称或别名如何,UNION返回的列标头都将分别是Col1、Second以及Col3。

  3、一个查询中每一列的数据类型必须与其他查询中相同对应的列的数据类型隐式兼容。注意:这里并不是一定要相同----它们只要能隐式转换即可。如果第一个查询中第二列的数据类型是char(20),那么第二个查询中第二列的数据类型是varchar(30)是可以的。然而,由于一切都是基于第一个查询,因此结果集中第二列所有长度超过20的行将被截断。

  4、与非UNION的查询不同,UNION的默认返回方式是DISTINCT而非ALL。在其他的查询中,所有行都将被返回,无论它们是否与别的行有重复,而UNION却不是这样的。除非在查询中使用了ALL关键字,否则只返回一个有重复的行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读