MySQL两个独立的表,其连接在第三个表中不存在

时间:2013-05-05 13:43:40

标签: mysql join

我有三个表A(主),B(主)和C(交易)。 A.id和B.id的组合存在于C. 我想要A的数据,其中A.id和B.id的组合在表C中不存在。

我尝试了以下操作,但没有选择任何行。

从A,B,C中选择A. *,其中A.id!= C.id和B.id!= C.id

我不擅长创建查询。

有人可以为此形成一个查询吗?

3 个答案:

答案 0 :(得分:0)

SELECT * 
FROM A 
WHERE A.id NOT IN (
    SELECT Aid FROM C)

你的问题有点奇怪,但是这个查询选择了A中不在表C中的所有id。

答案 1 :(得分:0)

SELECT A.*, B.* 
FROM A , B
WHERE A.id = B.id AND A.id NOT IN (SELECT Aid FROM C) AND B.id NOT IN (SELECT Bid FROM C)

答案 2 :(得分:0)

  

SELECT * FROM A,C LEFT JOIN B ON B.id = A.id LEFT JOIN B ON B.id =   C.id WHERE A.id = C.id AND B.id IS NULL