For example:
(Used "SELECT * FROM Query1" instead of simple "Query1", because of using common table expressions.)
Query2 exists
Code:
------------------------------ Commands Entered ------------------------------
WITH
Query1 AS (
SELECT empno , firstnme , workdept , sex
FROM employee
WHERE workdept = 'D11'
)
,Query2 AS (
SELECT empno , firstnme , workdept , sex
FROM employee
WHERE sex = 'F'
)
SELECT * FROM Query1
INTERSECT
(
SELECT * FROM Query2
UNION ALL
SELECT * FROM Query1
WHERE NOT EXISTS
(SELECT 0 FROM Query2)
)
;
------------------------------------------------------------------------------
EMPNO FIRSTNME WORKDEPT SEX
------ ------------ -------- ---
000160 ELIZABETH D11 F
000180 MARILYN D11 F
000220 JENNIFER D11 F
3 record(s) selected.
Query2 not exists
Code:
------------------------------ Commands Entered ------------------------------
WITH
Query1 AS (
SELECT empno , firstnme , workdept , sex
FROM employee
WHERE workdept = 'D11'
)
,Query2 AS (
SELECT empno , firstnme , workdept , sex
FROM employee
WHERE sex = 'X'
)
SELECT * FROM Query1
INTERSECT
(
SELECT * FROM Query2
UNION ALL
SELECT * FROM Query1
WHERE NOT EXISTS
(SELECT 0 FROM Query2)
)
;
------------------------------------------------------------------------------
EMPNO FIRSTNME WORKDEPT SEX
------ ------------ -------- ---
000060 IRVING D11 M
000150 BRUCE D11 M
000160 ELIZABETH D11 F
000170 MASATOSHI D11 M
000180 MARILYN D11 F
000190 JAMES D11 M
000200 DAVID D11 M
000210 WILLIAM D11 M
000220 JENNIFER D11 F
9 record(s) selected.