Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL-Abfrage, um fehlende Zeilen zwischen zwei verknüpften Tabellen zu finden

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)

oder

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

oder

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

Bitte beachten Sie, dass diese Abfragen nicht erfordern, dass ABC_ID überhaupt in Tabelle B enthalten ist. Ich denke, das tut, was Sie wollen.