SQL语句:A表中的字段值既不存在B表中又不存在C表中

SELECT
*
FROM
A
WHERE
NOT EXISTS (
SELECT
*
FROM
B
WHERE
dialnumber = A.用户号码
);

这是原来两张表的,现在就是三张表,这个SQL语句怎么写,搞些各位大神

后面直接and NOT EXISTS (SELECT * FROM C WHERE dialnumber = A.用户号码)
NOT EXISTS 里面的表不能存在空值,不然结果是错的

WHERE
NOT EXISTS (
SELECT
*
FROM
B
WHERE
dialnumber = A.用户号码
) and NOT EXISTS (
SELECT
*
FROM
C
WHERE
dialnumber = A.用户号码
) ;
这样不就行了么

再写一次Not exists不就行了:

SELECT
*
FROM
A
WHERE
NOT EXISTS (
SELECT
*
FROM
B
WHERE
dialnumber = A.用户号码
)
AND
NOT EXISTS (
SELECT
*
FROM
C
WHERE
dialnumber = A.用户号码
);

还有一种写法:

SELECT
*
FROM
A
WHERE
NOT EXISTS (
SELECT
*
FROM
B
WHERE
dialnumber = A.用户号码
union all
SELECT
*
FROM
C
WHERE
dialnumber = A.用户号码
);

select * from A aa
left join B bb on bb.dialnumber != aa.用户号码
left join c cc on cc.dialnumber != aa.用户号码
where 1=1