Вопрос
Есть ли способ выбрать данные, в которых любое из нескольких условий встречается в одном и том же поле?
Пример:Обычно я бы написал такое заявление, как:
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');
Не связан с StackOverflow