MySQL合并结果集:利用UNION构建新视图(mysql合并结果集)
MySQL里面的UNION就是把两个或者多个SELECT语句结果集合并成一个新的结果集,这使得MySQL可以从多张不同表中合并若干字段,基于互异的数据模式构造一个新的视图,可以理解为:创建一个新的表格。
UNION是利用行形式的方式把先前的SELECT语句的行结果一一追加在一起,按照同样的格式而且是有相同的列,生成一份完整的合并结果集。如果SELECT语句含有不同类型列,则新的视图中有一个列作为假设类型,各类型列依次在其后排列,即可得到完整的合并结果集,它的结构也是明确的,建表的样式为:`SELECT 字段 … FROM 表 …. UNION SELECT 字段 … FROM 表….`。
UNION语句还可以带上ORDER BY子句来使合并结果集更清晰,那么通常UNION的使用就是语句中的SELECT语句查询的表格有相同的字段,union如果没有指定”ALL”,那么将会只合并不同的行,也就是进行去重,只显示不同的行,否则mysql会把每个select语句中查询到的数据全部纳入结果集,去重或者不去重取决于Union后面是否加上ALL关键字。
MySQL通过UNION构建新视图可以将原有的无关数据表格合并,便于处理;UNION构建新视图后,与原先同结构的数据表格一样,可以进行特定的查询、更新、删除等操作,使用起来比较方便;而且由于去重的作用,MySQL的UNION往往可以简化一些相对复杂的查询,而使其集合成一个简单的查询,这样就可以很快的获取结果了。
总之,MySQL的UNION构建新视图的功能非常的强大,不仅可以帮助我们快速合并不同表格中的字段,而且有去重的功能以及可以加入ORDER BY子句,这让MySQL在构建新视图时更加灵活,非常适合各种复杂的查询操作。