SELECT * FROM emp WHERE emp.id
(BETWEEN 1000 AND 2000) OR IN ('3000','3001','4000')
如何在 Oracle 中结合 BETWEEN 和 IN 子句编写这种类型的查询?
重复列名(不要使用字符串作为数字):
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。