用于将多个值与select语句中的字段匹配的SQL查询

时间:2011-09-30 06:55:24

标签: php mysql sql

我想选择列A的不同值,其中列B =集合S的任何成员。

有没有办法在SQL中直接执行此操作而不进行循环,然后在代码中进行过滤?

由于

编辑:集合S是一个PHP数组。这有什么不同吗?

2 个答案:

答案 0 :(得分:6)

IN子句与值列表或子查询一起使用(由于我使用Oracle,因此不确定MySql是否支持)。匹配可以在多个列上。

SELECT column_a
  FROM mytable
 WHERE column_b IN (1, 2, 3)

SELECT column_a
  FROM mytable
 WHERE column_b IN (SELECT column_c FROM myothertable)

答案 1 :(得分:2)

SELECT DISTINCT
    columnA
FROM
    yourTable
WHERE
    columnB IN ( 'your', 'set', 'of', 'values' )