SELECT * FROM `TABLE` WHERE
(`PRIMARY_KEY`= `VALUE1`) OR
(`PRIMARY_KEY`= `VALUE2`) OR
(`PRIMARY_KEY`= `VALUE3`) OR
(`PRIMARY_KEY`= `VALUE4`) OR
(`PRIMARY_KEY`= `VALUE5`) OR ...
这很有效。但有更快的方法吗?
答案 0 :(得分:7)
使用value in (list)
构造并不快,但是一旦有人需要维护代码,SQL代码将更容易阅读/理解。
SELECT *
FROM `TABLE`
WHERE `PRIMARY_KEY` in( `VALUE1`
, `VALUE2`
, `VALUE3`
, `VALUE4`
, `VALUE5`
)
更新:重写以反映评论的反馈。
答案 1 :(得分:3)
SELECT * FROM table WHERE primary_key IN (value1, value2, ...)
答案 2 :(得分:0)
您可以使用IN
关键字来实现此目标:
SELECT * FROM Table WHERE PRIMARY_KEY IN (VALUE1, VALUE2, ...)
答案 3 :(得分:0)
怎么样
SELECT * FROM `TABLE` WHERE
(`PRIMARY_KEY`IN( `VALUE1`,`VALUE2`,`VALUE3`,`VALUE4`,`VALUE5`) )