Vous pouvez utiliser union pour construire le tableau des villes puis minus opérateur.
select 'Dallas' as city from dual union all
select 'Berlin' as city from dual union all
select 'Cracow' as city from dual union all
select 'Praha' as city from dual
minus
select city from address
Au lieu d'union, vous pouvez utiliser le type prédéfini odcivarchar2list , ce qui raccourcit la syntaxe :
select column_value as city
from table(sys.odcivarchar2list('Dallas', 'Berlin', 'Cracow', 'Praha'))
minus
select city from address
... et au lieu de minus Vous pouvez utiliser des jointures ou not in ou not exists .
Tester les données et le résultat des deux requêtes :
create table address (id number, city varchar2(10));
insert into address values (1, 'Rome');
insert into address values (2, 'Dallas');
insert into address values (3, 'Cracow');
insert into address values (4, 'Moscow');
insert into address values (5, 'Liverpool');
insert into address values (6, 'Cracow');
insert into address values (7, 'Seoul');
CITY
------------
Berlin
Praha