UNION、UNION ALL和EXISTS

简介:

1在使用union命令时,所有被选取的列的数据类型应该是相同的。

2unionunion all的区别:

   union会把相同的值过滤掉,也就是说如果使用了union那么查询结果中是没有重复的值的此时的它就相当于distinct

   union allunion相反,它会把所有的数据都显示出来,当然也包括重复的记录。

3在使用union时要注意:

(1)、只可以在最后一条select语句中使用order by compute子句,这样影响到最终合并结果的排序和计数汇总。

(2)group by having子句可以在单独一个select查询中使用,其不影响最终结果。

4、在使用连接时要注意:

On只进行连接操作,where只过滤中间表的记录。

5对两表连接查询选择方式的依据进行总结:

(1)、查两表关联列相等的数据用内连接。(join…on)

(2)、左表是右表的子集时用右外连接。(right join…on)

(3)、右表是左表的子集时用左外连接。(left join…on)

(4)、右表和左表彼此有交集但彼此互不为子集时候用全外连接。(full outer join…on)

(5)、求差操作的时候 用联合查询。(uniion)

 

6EXISTS子查询注意事项

(1)、由EXISTS引出的子查询,其目标列表达通常都用*,因为EXISTS的子查询只返回真值或者假值,给出列名亦无实际意义。

 

本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416800,如需转载请自行联系原作者

相关文章
|
14天前
|
SQL
UNION
【11月更文挑战第08天】
24 2
|
20天前
|
SQL
SELECT DISTINCT
【11月更文挑战第02天】
21 1
|
3月前
|
数据采集 SQL 关系型数据库
在 Postgres 中使用 Union
【8月更文挑战第11天】
51 0
在 Postgres 中使用 Union
|
4月前
Union和Union All到底有什么区别
Union和Union All到底有什么区别
107 1
可以使用 UNION 或者 UNION ALL 来合并多个 SELECT 语句的结果
可以使用 UNION 或者 UNION ALL 来合并多个 SELECT 语句的结果
253 7
union和union all 的区别
union和union all 的区别
195 0
SQL:union all和union的区别 和使用
SQL:union all和union的区别 和使用
2734 0
|
测试技术 流计算