2008-08-20 72 views
18

有没有一种方法可以选择多个条件中的任何一个发生在同一个字段上的数据?选择.....其中....或

例子:我通常会写的语句,如:

select * from TABLE where field = 1 or field = 2 or field = 3 

有没有一种方法,而不是这样说:

select * from TABLE where field = 1 || 2 || 3 

任何帮助表示赞赏。

回答

33

没问题,最简单的方法是这样的:

select foo from bar where baz in (1,2,3) 
9
select * from TABLE where field IN (1,2,3) 

您还可以方便地与一个子查询只返回一个字段合并这样的:

select * from TABLE where field IN (SELECT boom FROM anotherTable) 
+1

+1对于包括子查询。 – Triztian 2011-02-11 22:01:04

3

SELECT * from表where (1,2,3)中的字段

3
WHERE field IN (1, 2, 3) 
5

OR:

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3 
+0

+1使用`BETWEEN` – tim 2013-03-03 01:40:28

1

你仍然可以使用在

select * 
from table 
where field = '1' or field = '2' or field = '3' 

它只是

select * from table where field in ('1','2','3')