Как повторно использовать большой запрос, не повторяя его?

Если у меня есть два запроса, которые я назову horrible_query_1 и ugly_query_2 , я хочу выполнить с ними следующие две минусовые операции:

(horrible_query_1) minus (ugly_query_2)
(ugly_query_2) minus (horrible_query_1)

Или, может быть, у меня есть terribly_large_and_useful_query , и полученный им набор результатов я хочу использовать как часть нескольких будущих запросов.

Как избежать копирования и вставки одних и тех же запросов в нескольких местах? Как я могу «не повторяться» и следовать принципам DRY. Возможно ли это в SQL?

Я использую Oracle SQL. Переносимые решения SQL предпочтительнее, но если мне нужно использовать конкретную функцию Oracle (включая PL / SQL), все в порядке.

13
задан Buttons840 19 October 2012 в 17:51
поделиться