sql >> Database teknologi >  >> RDS >> Oracle

SQL-forespørgsel til at finde manglende rækker mellem to relaterede tabeller

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)

eller

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

eller

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

Bemærk venligst, at disse forespørgsler overhovedet ikke kræver, at ABC_ID er i tabel B. Jeg tror, ​​det gør, hvad du vil.



  1. Migrering af MySQL til PostgreSQL på AWS RDS, del 3

  2. Ret SQL-database korrupt under opgraderingsproblemet

  3. Opret forbindelse til ekstern MySQL-database via SSH ved hjælp af Java

  4. Hvad svarer MySQL-forespørgslen til PHP strip_tags?