MySQL是否可以从静态的整数集中进行选择?给定一个整数数组,如1和2,MySQL中正确的语法是什么,如:
select
*
from
(values(1),(2))
哪一行应返回包含数字1的一行和包含数字2的一行。
在MySQL之外的其他SQL(例如MSSQL)中,这是可能的。有没有办法在MySQL中做到这一点?
答案 0 :(得分:8)
我认为你的意思是这样的?
SELECT 1 UNION SELECT 2 UNION SELECT 3
答案 1 :(得分:8)
在MySQL中执行此操作的唯一方法是使用带有UNION
的子查询:
SELECT foo.*
FROM (
SELECT 1 AS num UNION
SELECT 2 AS num UNION
SELECT 3 AS num
) virtual
LEFT JOIN foo ON foo.num = virtual.num
如果要将整数列表用作WHERE
或ON
子句的条件,那么IN()
构造可能是正确的方法:
SELECT foo.* FROM foo WHERE foo.num IN (1,2,3)
答案 2 :(得分:0)
对不起,我的英语
您可以像这样使用(IN)
SELECT * FROM Table WHERE id IN (1,2,3....)