Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tìm dữ liệu bị thiếu được chuyển đến trong mệnh đề SQL

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tránh hai luồng khác nhau đọc các hàng giống nhau từ DB (Hibernate và Oracle 10g)

  2. Oracle SQL - max () với giá trị NULL

  3. Sql Đặt hàng theo nhiều cột

  4. TNS-12505:TNS:người nghe hiện không biết về SID được cung cấp trong bộ mô tả kết nối

  5. Bộ đệm quá nhỏ để chuyển đổi CLOB sang CHAR hoặc BLOB sang RAW