SQL中如何连接多个select?
在SQL中,怎么连接多个查询语句?我们最为熟悉的就是union和union all了,今天还另外给大家介绍另外两种连接方式。
(1)UNION
连接select,不允许出现重复值,而且select的对象要有相同的列以及数据类型。
(2)UNION ALL
作用同union,但是允许出现重复值。一般来说,如果select字段大于1个,用union all会比用union速度快,因为union会将多个结果中重复的数据合并,union all则是直接合并返回结果。
举栗子:
(3)intersect(MySQL中不支持)
和union相类似,intersect也是两个select语句结果的函数。不同的地方是,union的处理结果类似于 全集 (只要这个值在第一个或第二个select中,都会被选出),而intersect则比较像取出 交集 (值要同时在第一个和第二个select中,才会被取出来)。
(4)minus(MySQL中不支持)
先找出第一个select语句所产生的结果,然后看这些结果中有没有在第二个select语句的结果中,最后会输出第一个select中没有,但是第二个select中有的数据。