Bạn có thể sử dụng union
để xây dựng bảng thành phố và sau đó minus
nhà điều hành.
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
Thay vì kết hợp, bạn có thể sử dụng loại được xác định trước odcivarchar2list
, rút gọn cú pháp:
select column_value as city
from table(sys.odcivarchar2list('Dallas', 'Berlin', 'Cracow', 'Praha'))
minus
select city from address
... và thay vì minus
Bạn có thể sử dụng liên kết hoặc not in
hoặc not exists
.
Kiểm tra dữ liệu và đầu ra của cả hai truy vấn:
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