SQL-在多个表的多个列中查找缺少的条目

SQL-在多个表的多个列中查找缺少的条目,sql,oracle,plsql,Sql,Oracle,Plsql,我有以下Oracle数据库概念: 账户家庭标识列为账户家庭ID的表 Account\u Member表,标识列为Account\u Member\u ID,列为Account\u home\u ID Account\u Role表中包含Main\u ID和Support\u ID列,它们是表示*Account\u成员\u ID的值* VIP\u用户带有VIP\u ID的表,VIP\u ID是表示帐户成员ID的值 我需要找到那些帐户\家庭\ ID,其中关联的帐户\成员\ ID在主\ ID、支持

我有以下Oracle数据库概念:

  • 账户家庭标识列为账户家庭ID的表
  • Account\u Member表,标识列为Account\u Member\u ID,列为Account\u home\u ID
  • Account\u Role表中包含Main\u IDSupport\u ID列,它们是表示*Account\u成员\u ID的值*
  • VIP\u用户带有VIP\u ID的表,VIP\u ID是表示帐户成员ID的值
我需要找到那些帐户\家庭\ ID,其中关联的帐户\成员\ ID主\ ID支持\ IDVIP \ ID列中都不匹配。我已经搜索了一些例子和答案,但我想我用来定义问题的搜索词还不够好

提前感谢

Oracle 11g R2架构设置

CREATE TABLE Account_Household (
  Account_Household_ID NUMBER PRIMARY KEY
);

INSERT INTO Account_Household
SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 100;

CREATE TABLE Account_Member (
  Account_Member_ID    NUMBER PRIMARY KEY,
  Account_Household_ID NUMBER,
  FOREIGN KEY ( Account_Household_ID ) REFERENCES Account_Household ( Account_Household_ID )
);

INSERT INTO Account_Member
SELECT LEVEL, 2*LEVEL FROM DUAL CONNECT BY LEVEL <= 50;

CREATE TABLE Account_Role (
  Main_ID NUMBER,
  Support_ID NUMBER,
  FOREIGN KEY ( Main_ID ) REFERENCES Account_Member ( Account_Member_ID ),
  FOREIGN KEY ( Support_ID ) REFERENCES Account_Member ( Account_Member_ID )
);

INSERT INTO Account_Role
SELECT LEVEL, 2*LEVEL FROM DUAL CONNECT BY LEVEL <= 25;

CREATE TABLE VIP_User (
  VIP_ID NUMBER,
  FOREIGN KEY ( VIP_ID ) REFERENCES Account_Member ( Account_Member_ID )
);

INSERT INTO VIP_User
SELECT 3*LEVEL FROM DUAL CONNECT BY 3*LEVEL < 25;
| ACCOUNT_MEMBER_ID | ACCOUNT_HOUSEHOLD_ID |
|-------------------|----------------------|
|                27 |                   54 |
|                29 |                   58 |
|                31 |                   62 |
|                33 |                   66 |
|                35 |                   70 |
|                37 |                   74 |
|                39 |                   78 |
|                41 |                   82 |
|                43 |                   86 |
|                45 |                   90 |
|                47 |                   94 |
|                49 |                   98 |

CREATE TABLE Account_Household (
  Account_Household_ID NUMBER PRIMARY KEY
);

INSERT INTO Account_Household
SELECT LEVEL FROM DUAL CONNECT BY LEVEL <= 100;

CREATE TABLE Account_Member (
  Account_Member_ID    NUMBER PRIMARY KEY,
  Account_Household_ID NUMBER,
  FOREIGN KEY ( Account_Household_ID ) REFERENCES Account_Household ( Account_Household_ID )
);

INSERT INTO Account_Member
SELECT LEVEL, 2*LEVEL FROM DUAL CONNECT BY LEVEL <= 50;

CREATE TABLE Account_Role (
  Main_ID NUMBER,
  Support_ID NUMBER,
  FOREIGN KEY ( Main_ID ) REFERENCES Account_Member ( Account_Member_ID ),
  FOREIGN KEY ( Support_ID ) REFERENCES Account_Member ( Account_Member_ID )
);

INSERT INTO Account_Role
SELECT LEVEL, 2*LEVEL FROM DUAL CONNECT BY LEVEL <= 25;

CREATE TABLE VIP_User (
  VIP_ID NUMBER,
  FOREIGN KEY ( VIP_ID ) REFERENCES Account_Member ( Account_Member_ID )
);

INSERT INTO VIP_User
SELECT 3*LEVEL FROM DUAL CONNECT BY 3*LEVEL < 25;
| ACCOUNT_MEMBER_ID | ACCOUNT_HOUSEHOLD_ID |
|-------------------|----------------------|
|                27 |                   54 |
|                29 |                   58 |
|                31 |                   62 |
|                33 |                   66 |
|                35 |                   70 |
|                37 |                   74 |
|                39 |                   78 |
|                41 |                   82 |
|                43 |                   86 |
|                45 |                   90 |
|                47 |                   94 |
|                49 |                   98 |