0

我有 3 张桌子,a,b,c

可以为两个表添加左连接选择通过左连接添加第三个表:

例子:

SELECT * from a,b where  a.x=b.x and a.z=b.z and b.y>0 

(我只需要选择那些我可以通过该规则找到完全匹配的记录)

现在我想从第三张表中添加一些字段,但有可能出现第三张表可能不包含某些表 a、b 记录的数据。据我了解,我可以使用左连接?

我如何选择这样的东西:

SELECT a.*,b.*, c.Q from a,b where  a.x=b.x and a.z=b.z and b.y>0  left join c on a.x=c.x 
4

2 回答 2

2

如果您不喜欢编写 INNER JOIN:

SELECT a.*,b.*, c.Q 
FROM (a,b)  
LEFT JOIN c 
ON a.x=c.x 
WHERE a.x=b.x and a.z=b.z and b.y>0
于 2012-08-17T16:26:44.297 回答
1
SELECT a.*,b.*, c.Q 
FROM a 
INNER JOIN b 
  ON a.x=b.x AND a.z=b.z AND b.y>0
LEFT JOIN c 
  ON a.x=c.x
于 2012-08-17T16:23:02.143 回答