You can turn your list into the same view:
select 'Hello' as word from dual union all select 'Goodbye' from dual union all select 'Greetings' from dual union all select 'Dog' from dual
Then you can choose from this:
select * from ( select 'Hello' as word from dual union all select 'Goodbye' from dual union all select 'Greetings' from dual union all select 'Dog' from dual ) where word not in (select word from words);
This may not be the easiest solution you could hope for ...
You say that you do not have sufficient permissions to create tables, so you may not be able to create types either, but if you can find a suitable type "lying" in your database, you can do this:
select * from table (table_of_varchar2_type('Hello','Goodbye','Greetings','Dog')) where column_value not in (select word from words);
Here table_of_varchar2_type is represented by a type name that is defined as:
create type table_of_varchar2_type as table of varchar2(100);
One of those types that you can probably find is SYS.KU$_VCNT , which is the VARCHAR2 TABLE (4000).
Tony Andrews
source share