У меня нет установки DB2, но в PostgreSQL Q1 except Q2 except Q3
представляется интерполированным как (Q1 except Q2) except Q3
(примечание: generate_series(m,n)
- это функция, найденная в PostgreSQL, которая генерирует один столбец целочисленных значений из * От 1004 * до n
(где m<n
, конечно)):
select generate_series(1,10) except select generate_series(5,15) except select generate_series(10,20);
generate_series
-----------------
1
2
3
4
(4 rows)
select * from (select generate_series(1,10) except select generate_series(5,15))a except select generate_series(10,20);
generate_series
-----------------
1
2
3
4
(4 rows)
select generate_series(1,10) except select * from (select generate_series(5,15) except select generate_series(10,20))a;
generate_series
-----------------
1
2
3
4
10
(5 rows)
Однако лучше использовать круглые скобки, чтобы убедиться, что порядок оценки соответствует желаемому.