表格:
客户
CID Name
1 A
2 B
3 C
4 D
5 E
6..(And so on)
访问
VID CID type
1 1 Med
2 3 Non
3 2 Non
4 6 Med
5 4 Med
6..(And so on)
支付
PID CID amount
1 1 10
2 1 20
3 2 30
4 2 40
5 3 50
6..(And so on)
所需的输出:
CID Name type amount
1 A Med 10
1 A Med 20
4 D Med NULL
(And so on..)
询问:
SELECT DISTINCT
C.client_id
,C.name
,V.type
,P.payment
FROM Clients C
INNER JOIN Visit V
ON C.cid=V.cid
LEFT JOIN Payment P
ON V.cid=P.cid
我使用了LEFT JOIN,因为我想看看谁付款,谁没有付款。
问题: LEFT JOINS(或外部联接)是否基于左表的CID中由先前的INNER JOINS(公共结果集)产生的公共ID提取数据?还是他们将左侧表中的所有ID都考虑在内,而完全忽略了INNER JOINS结果?我只希望内部联接中存在而不是外部联接中的客户的付款详细信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句