MySQL笔记-union

时间:2024-03-21 09:37:38

  union语法

    select ...

    union [all | distinct]

    selct ...

  1. union用于把来自多个select语句的结果组合在一个结果集中。
  2. 两次查询的列表必须相同,否则报【The used SELECT statements have a different number of columns】  
  3. 多个select语句取出的字段名可以不同,不会报错,但是最后的结果集中显示时,以第一个select语句的字段名为准。
  4. 多个select语句中取出相同数据时,union会将相同的列合并,这里必须说明的是,所谓相同是指所有字段的内容都完全相同
  5. 如果不想取出重复的行,就使用union all
  6. 如果子句中有order by,limit,需用括号()包起来。推荐放到所有子句之后,即对最终合并的结果集来排序或筛选。
  7. 在子句中,order by 需要配合limit使用才有意义。如果不配合limit使用,会被语法分析器优化分析时去除。