Выберите ..... где .... ИЛИ - PullRequest
       42

Выберите ..... где .... ИЛИ

19 голосов
/ 20 августа 2008

Есть ли способ выбрать данные, когда в одном и том же поле встречается одно из нескольких условий?

Пример: я обычно писал бы такое утверждение, как:

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

Есть ли способ вместо этого сказать что-то вроде:

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

Любая помощь приветствуется.

Ответы [ 7 ]

35 голосов
/ 20 августа 2008

Конечно, самый простой способ это:

select foo from bar where baz in (1,2,3)
10 голосов
/ 20 августа 2008
select * from TABLE where field IN (1,2,3)

Вы также можете удобно комбинировать это с подзапросом, который возвращает только одно поле:

    select * from TABLE where field IN (SELECT boom FROM anotherTable)
5 голосов
/ 20 августа 2008

OR

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3
3 голосов
/ 20 августа 2008
WHERE field IN (1, 2, 3)
3 голосов
/ 20 августа 2008

выберите * из таблицы, где поле в (1, 2, 3)

1 голос
/ 20 августа 2008

Вы все еще можете использовать для

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

это просто

select * from table where field in ('1','2','3')
0 голосов
/ 27 января 2019

, в то время как in - это сокращение для or, и я не был уверен, как можно объединить in с and, я сделал это так

 SELECT * FROM table
 WHERE column1='x' AND (column2='y' OR column2='z');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...