mybatis的使用技巧8——联合查询union和union all的区别和用法

在实际项目开发中,会经常联合查询结构相似的多张数据表,使用union关键字就只需要一次sql操作,而无需执行多次查询并通过代码逻辑合并处理,减少了大量繁琐的操作,最重要的是还能通过可选的all关键字筛选重复的数据。

1.union和union all区别

  • 相同点:两者都用于把来自多个select语句的结果组合到一个结果集合中。
  • 不同点:当使用union时,mysql会把结果集中重复的记录删掉,而使用union all ,mysql会把所有的记录返回,且效率高于union。

最终的查询结果对比:

2.union和union all用法

重要的注意事项:

  • 第一个select语句中被使用的字段名称会被用于最终结果集的字段名称。
  • 存在union关键字的sql语句仅属于一条完整的sql,因此每一个select语句结束后都不能写标点符号。
  • 在多个 SELECT 语句中,对应的列应该具有相同的字段属性且同时字段的顺序要保持一致。
  • 如果子句中有order by,limit,需用括号()包起来。推荐放到所有子句之后,即对最终合并的结果来排序或筛选。

具体的写法如下:

-- union
select id,logo_sn sn
from card_info 
where del_flag = '0'
and id in (57,72)
union 
select helmet_id id,helmet_sn sn
from use_log
where del_flag = '0'
and helmet_id in (57,72)

-- union all
select id,logo_sn sn
from card_info 
where del_flag = '0'
and id in (57,72)
union all 
select helmet_id id,helmet_sn sn
from use_log
where del_flag = '0'
and helmet_id in (57,72)

相关推荐

  1. MyBatis使用MySQL5MySQL8

    2024-04-23 12:18:09       7 阅读
  2. 关键字联合体union定义使用

    2024-04-23 12:18:09       29 阅读
  3. struct union 区别

    2024-04-23 12:18:09       20 阅读
  4. MyBatis中#{}${}

    2024-04-23 12:18:09       37 阅读
  5. 深入理解 Union Union All 区别及优化技巧

    2024-04-23 12:18:09       42 阅读
  6. MySQL中unionunion all区别

    2024-04-23 12:18:09       43 阅读
  7. MySQL中UNIONUNION ALL区别有哪些?

    2024-04-23 12:18:09       39 阅读
  8. MySQL中UNIONUNION ALL区别

    2024-04-23 12:18:09       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-23 12:18:09       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-23 12:18:09       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-23 12:18:09       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-23 12:18:09       18 阅读

热门阅读

  1. SQL UNION

    2024-04-23 12:18:09       13 阅读
  2. NIO之非阻塞模式

    2024-04-23 12:18:09       12 阅读
  3. 分类算法——集成学习方法之随机森林(六)

    2024-04-23 12:18:09       15 阅读
  4. 多标签与多分类的区别

    2024-04-23 12:18:09       37 阅读
  5. oracle之--动态sql(execute immediate ‘ ‘)

    2024-04-23 12:18:09       11 阅读
  6. MySQL数据库-备份

    2024-04-23 12:18:09       15 阅读
  7. 单例模式(设计模式)

    2024-04-23 12:18:09       14 阅读