5 Answers
5

SELECT a.table_name FROM (SELECT 'A' as table_name
FROM DUAL UNION
SELECT 'B' as table_name
FROM DUAL UNION
SELECT 'C' as table_name
FROM DUAL UNION
SELECT 'V' as table_name
FROM DUAL UNION
SELECT 'H' as table_name
FROM DUAL) a WHERE NOT EXISTS (
SELECT 1 FROM DBA_TABLES b where b.table_name=a.table_name)

WITH table_names AS (
SELECT 'A' AS tname FROM DUAL
UNION ALL
SELECT 'B' FROM DUAL
UNION ALL
SELECT 'C' FROM DUAL
UNION ALL
SELECT 'D' FROM DUAL
UNION ALL
SELECT 'E' FROM DUAL
)
SELECT tn.tname
FROM table_name tn
WHERE NOT EXISTS (SELECT 1
FROM all_tables at
WHERE tn.tname = at.table_name);

The WITH part is just a different (re-usable) way of writing a derived table ("inline view").