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