从MySQL中的数组中选择

时间:2012-03-25 12:59:21

标签: mysql

MySQL是否可以从静态的整数集中进行选择?给定一个整数数组,如1和2,MySQL中正确的语法是什么,如:

select 
    * 
from 
    (values(1),(2)) 

哪一行应返回包含数字1的一行和包含数字2的一行。

在MySQL之外的其他SQL(例如MSSQL)中,这是可能的。有没有办法在MySQL中做到这一点?

3 个答案:

答案 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

如果要将整数列表用作WHEREON子句的条件,那么IN()构造可能是正确的方法:

SELECT foo.* FROM foo WHERE foo.num IN (1,2,3)

答案 2 :(得分:0)

对不起,我的英语

您可以像这样使用(IN)

SELECT * FROM Table WHERE id IN (1,2,3....)