sql >> Databáze >  >> RDS >> Oracle

Najděte chybějící data předaná do klauzule SQL

Můžete použít union vytvořte tabulku měst a poté minus operátor.

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

Místo union můžete použít předdefinovaný typ odcivarchar2list , což zkracuje syntaxi:

select column_value as city 
  from table(sys.odcivarchar2list('Dallas', 'Berlin', 'Cracow', 'Praha'))
minus
select city from address

... a místo minus Můžete použít spojení nebo not in nebo not exists .

Testovací data a výstup obou dotazů:

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. Ví někdo o dobrém PHP ORM, který NEPOUŽÍVÁ PDO?

  2. ORA-00907 Chybějící problém s pravou závorkou - vyberte s pořadím pomocí vnitřního vkládacího dotazu

  3. PHP skript pro zálohování databáze MySQL

  4. Vložte vybrané MySQL s připravenými příkazy