代码之家  ›  专栏  ›  技术社区  ›  Fazal

SQL查询以查找两个相关表之间缺少的行

  •  25
  • Fazal  · 技术社区  · 14 年前

    我有两张桌子:

    表A

    • ABC\U ID
    • 瓦尔

    表B

    • 身份证件
    • 瓦尔

    ABC_ID 列。

    我要找到所有的 VAL 在表B中显示相同的ABC\U ID。

    1 回复  |  直到 14 年前
        1
  •  60
  •   user3267567    4 年前
    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