SELECT * FROM emp WHERE emp.id
(BETWEEN 1000 AND 2000) OR IN ('3000','3001','4000')
如何在Oracle中结合使用BETWEEN和IN子句来编写这种类型的查询?
答案 0 :(得分:3)
重复列名(并且不要对数字使用字符串):
SELECT *
FROM emp
WHERE emp.id BETWEEN 1000 AND 2000 OR emp.id IN (3000, 3001, 4000)
如果还有其他条件,您可能希望将整个OR术语括起来:
SELECT *
FROM emp
WHERE (emp.id BETWEEN 1000 AND 2000 OR emp.id IN (3000, 3001, 4000))
AND ...
此处没有任何特定于Oracle的内容 - 只是一次。您可以将它应用于任何SQL DBMS。