Я хочу найти разницу в именах таблиц каждого владельца для обеих сторон минус-запроса.
Скажем, у меня есть 2 оператора select из таблицы, и я хочу сравнить их как таковые:
Select1:
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'alpha';
Select2:
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'charlie';
Скажем, у таблицы альфы есть имена таблиц: a, b, c, а у таблицы Чарли есть имена таблиц b, c.
Если я сделаю
(SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'alpha') minus
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'charlie';
Это даст мне ожидаемый результат: a.
И наоборот, если я сделаю обратное:
(SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'charlie') minus
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'alpha';
Это даст мнеожидаемый результат: пустая строка.
Теперь, если мне нужно и имя таблицы 'a', и пустую строку, которую я выполняю:
(SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'alpha') minus
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'charlie'
Union
(SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'charlie') minus
SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'alpha';
, тогда я ничего не получу.
Как бы вернуть строку 'a' и пустую строку вместе?Я использую Oracle DB