Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zapytanie SQL w celu znalezienia brakujących wierszy między dwiema powiązanymi tabelami

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)

lub

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

lub

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

Pamiętaj, że te zapytania w ogóle nie wymagają, aby ABC_ID znajdowało się w tabeli B. Myślę, że to robi to, czego chcesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 27 skryptów Oracle dba dla bazy danych Oracle dla administracji i monitorowania

  2. Oracle SQL — Zidentyfikuj kolejne zakresy wartości

  3. Włączanie SSL lub TLS w Oracle Apps R12

  4. Zignoruj ​​parametr zakresu dat w klauzuli WHERE, gdy parametr nie jest wprowadzony

  5. Ważna data sprawdzania w Oracle