背景

通常我们查找的时候可能会有多个条件,并且是批量查询的时候,我们可以使用多条件IN语句,如我们已经获取了一部分的数据,想根据这些数据,从数据库查出这些数据的全部字段时,就可以使用多条件IN

场景

假设我们现在已经有了一个List<User>但是只有User的部分字段,如id和username,现在想要对比数据库把id和username对应的实体字段全部查出来的时候就可以使用这个方式,但要注意这里的id和username最好是联合索引,能唯一表示一条记录

select * from user
where (id, username...) in ((001, 'tom',...),(002, 'bob',...),...)

应用

我们一般会结合MyBatis进行多字段批量IN查询,主要是业务理清就行

<select id='selectUserByIdAndUsername' parameterType = 'list'>select * from userwhere (id, username) in <foreach collections='list' item='item' open='(' close=')' seperator=','>(#{item.id}, #{item.username})</foreach>
</select>

总结

1.对于联合索引的批量查询都可以用批量的多条件IN语句
2.只要这个联合索引中至少有一个主键或者唯一索引就可以了

MySQL批量多条件的IN查询相关推荐

  1. MYSQL批量按条件更新不同的数据

    2019独角兽企业重金招聘Python工程师标准>>> 首先,我们需要了解下MYSQL CASE EXPRESSION 语法. 手册传送门:http://dev.mysql.com/ ...

  2. mysql 批量查找 in_在数据库查询时解决大量in 关键字的方法

    有时候在前台界面需要批量处理一些数据时,经常要用到update table set fields=value where keyid in ('1','2',....) 但如果这个数据量如果超过100 ...

  3. Mysql 拼接多个字段作为查询条件查询方法

    最近工作中需要把多个字段拼接作为查询条件查询,特此记录便于日后查阅. <select id="listByProgramCodeList" resultType=" ...

  4. mysql高级查询之多条件的过滤查询

    一.什么是高级查询: ① 多条件的过滤查询 简单说,即拼接sql语句,在sql查询语句之后使用: where 条件1 and/or 条件2 and/or 条件3 - ② 分页查询 二.多条件过滤查询: ...

  5. Mysql数据库的条件查询(聚合函数、分组查询)

    Mysql数据库的条件查询 一.聚合函数 1.聚合函数的介绍 聚合函数又叫组函数,通常是对表中的数据进行统计和计算,一般结合分组(group by)来使用,用于统计和计算分组数据. 常用的聚合函数: ...

  6. mysql where 条件取反_数据库MySQL之where条件查询

    数据库MySQL之where条件查询 1. where条件查询的介绍 使用where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运 ...

  7. mysql多条件匹配模糊查询

    mysql中通常的模糊查询使用like语句,但是有时候需要匹配多个条件进行模糊查询,like就无法满足了,比图所示,我们需要查询content字段中包含建设和统计的字段,like语句就无法满足了 所以 ...

  8. mysql sum带条件_有条件的MySQL Sum查询?

    该Sum()是在MySQL聚合函数.您可以将和查询与if条件一起使用.要了解带有if条件的求和查询,让我们创建一个表. 创建表的查询-mysql> create table SumWithIfC ...

  9. 97. python高级------MySQl数据库的条件查询

    文章目录 97. python高级------MySQl数据库的条件查询 python修炼第二十四天 2019年 4月 23日 晴 1. 聚合函数的介绍 2. 求总行数 3. 求最大值 4. 求最小值 ...

最新文章

  1. PostgreSQL:创建自增序列id,分区表,分区表子表
  2. 在浏览器里,从输入 URL 到页面展示,这中间发生了什么?-学习笔记
  3. java中事件的概念,事件中心上IoTHub数据的概念
  4. 2010 北大软件及微电子学院 《软件实现技术》小组博客
  5. ROS配置分布式通信
  6. 反编译插件jadclipse和jad.exe的组合使用
  7. 对应猎豹网校的lua 视频教程 做的学习记录 前三课简单介绍1-3
  8. c语言周信东实验答案,桂林电子科技大学-C语言-程序设计-习题-答案(周信东)-实验4--数-组...
  9. std::thread参数传递包含引用时的注意事项
  10. 春风十里,Webpower喊营销汪们更聪明地获得理想薪资
  11. Treap(二)——#10144. 「一本通 4.6 练习 1」宠物收养所
  12. 如何用python turtle 画出奥运五环图
  13. 调用腾讯云语音转文本
  14. Environment Modules安装和使用教程
  15. win11+kodcloud、h5ai+phpstudy+ipv6搭建私人云盘、私人影院
  16. ZooKeeper进阶之客户端命令行操作
  17. 导购提成怎么算_导购员工资提成计算
  18. 论文导读:CoAtNet是如何完美结合 CNN 和 Transformer的
  19. python统计一篇英文短文中单词出现的频率、内存使用分析
  20. java 基础知识点

热门文章

  1. 星系超级计算机,超级计算机创造了数以百万计的虚拟宇宙来了解星系的进化
  2. BBP002面包板电源模块使用方法(A版)
  3. 宝塔运行在nginx二级目录代理配置
  4. 最新西安华为Java面经,金三银四想跳槽的朋友可以看一看
  5. 如何在 JavaScript 中清空数组?
  6. Java集合面试总结
  7. 交通工程的性质、定位与“创新”(一)
  8. 上了java课程的一些收获
  9. 【C++】反向迭代器
  10. 海康拉rtsp流的坑