Если вы используете круглые скобки, ответ ясен, так как сначала содержание этих скобок оценивается, чем OR
между ними.
Как и в Приоритет условия Oracle AND
заказано до OR
вы можете даже снять скобки, чтобы получить тот же эффект - см. пример ниже (упрощенный, чтобы сосредоточиться на точке).
with cnt as (
select rownum id from dual connect by level <= 10)
select * from cnt where
(id > 3 and id <= 5) or (id >= 7 and id < 10);
ID
----------
4
5
7
8
9
with cnt as (
select rownum id from dual connect by level <= 10)
select * from cnt where
id > 3 and id <= 5 or id >= 7 and id < 10;
ID
----------
4
5
7
8
9
Требуются скобки,если вы хотите установить приоритет OR
над AND
, как в примере ниже
(id < 3 or id < 7) and id > 1
Если вы удалите скобки, вы получите результат из этого предиката:
id < 3 or (id < 7 and id > 1)
HTH