Вопрос

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

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

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

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

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

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

Это было полезно?

Решение

Конечно, самый простой способ заключается в следующем:

select foo from bar where baz in (1,2,3)

Другие советы

select * from TABLE where field IN (1,2,3)

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

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

или:

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3

выберите * из ТАБЛИЦЫ, где поле в (1, 2, 3)

WHERE field IN (1, 2, 3)

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

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

это просто

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

в то время как in это короткий путь для or и я не был уверен, как я мог бы совместить in с and, Я сделал это таким образом

 SELECT * FROM table
 WHERE column1='x' AND (column2='y' OR column2='z');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top