Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL заявка за намиране на липсващи редове между две свързани таблици

SELECT A.ABC_ID, A.VAL FROM A WHERE NOT EXISTS 
   (SELECT * FROM B WHERE B.ABC_ID = A.ABC_ID AND B.VAL = A.VAL)

или

SELECT A.ABC_ID, A.VAL FROM A WHERE VAL NOT IN 
    (SELECT VAL FROM B WHERE B.ABC_ID = A.ABC_ID)

или

SELECT A.ABC_ID, A.VAL LEFT OUTER JOIN B 
    ON A.ABC_ID = B.ABC_ID AND A.VAL = B.VAL FROM A WHERE B.VAL IS NULL

Моля, имайте предвид, че тези заявки изобщо не изискват ABC_ID да е в таблица Б. Мисля, че това прави това, което искате.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо Oracle показва ??? за специални знаци като åäö

  2. Как да използвам Array/Table Parameter към Oracle (ODP.NET 10g) чрез ADO.NET/C#?

  3. customer.pk_name присъединяване към транзакции.fk_name срещу customer.pk_id [serial] присъединяване към транзакции.fk_id [цяло число]

  4. Стъпка по стъпка процес на надграждане за R12.2 Надстройка, част -1

  5. Инструкция за вмъкване на Oracle, ако не съществува