Mysql多条件批量查询

请教一个问题:mysql中,我查询语句
select * from tableA where name='test' and age='18';
然后我有一个name和age的list列表,分别通过这两个条件去查询,有什么比较方法可以查询;

eg:
select * from tableA where name='test' and age='18';
select * from tableA where name='test1' and age='18';
select * from tableA where name='test2' and age='20';
select * from tableA where name='test2' and age='56';
···

其中查出来的数据对应Java的一个实体。其中List表的大小为500-3000,数据表的记录为每天8万左右


冉冉说
浏览 5208回答 5
5回答

长风秋雁

table A 添加一列名称nameage 里面的值是 name和age的值合并 例如 test18select * from tableA where nameage in ('test18','xxxxxx','xxxxxxx')当然你不添加列也行,自己sql拼下也行

慕桂英4014372

select a.* from tableA ainner join list l on l.name=a.name and l.age=a.age不行吗?

忽然笑

数据量不大的时候,可以这样干。SELECT * FROM tableAWHERE (name, age) IN (('test', 18),('test1', 18),('test2', 20),('test2', 56))但通过explain以上查询会发现,这种写法是没法用上索引的,所以查询效率很低。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java