亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mysql多條件批量查詢

Mysql多條件批量查詢

冉冉說 2019-03-20 19:15:45
請教一個問題: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萬左右
查看完整描述

5 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

table A 添加一列名稱nameage 里面的值是 name和age的值合并 例如 test18
select * from tableA where nameage in ('test18','xxxxxx','xxxxxxx')

當然你不添加列也行,自己sql拼下也行


查看完整回答
反對 回復 2019-04-22
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

select a.* 

from tableA a

inner join list l on l.name=a.name and l.age=a.age

不行嗎?


查看完整回答
反對 回復 2019-04-22
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

數據量不大的時候,可以這樣干。


SELECT * FROM tableA

WHERE (name, age) IN (

('test', 18),

('test1', 18),

('test2', 20),

('test2', 56))

但通過explain以上查詢會發現,這種寫法是沒法用上索引的,所以查詢效率很低。


查看完整回答
反對 回復 2019-04-22
  • 5 回答
  • 0 關注
  • 5240 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號