Mysql左连接和加入相同的查询 - 语法错误

时间:2014-07-14 06:58:20

标签: mysql sql join left-join

使用MySQL。下面的两个连接工作正常:

SELECT * 
  FROM t1 
  JOIN db2.t2 AS  t2  
  JOIN t3 ON t1.id=t3.id  
 WHERE 1;

但是,以下是语法错误:

    SELECT *
      FROM t1 
 LEFT JOIN db2.t2 AS  t2  
      JOIN t3 ON t1.id=t3.id  
     WHERE 1;

我希望在同一个查询中使用LEFT JOIN和JOIN(SO上的LEFT JOIN上的许多其他问题/答案到目前为止在这个问题上没有帮助)

1 个答案:

答案 0 :(得分:1)

在您的查询中,您在第一个ON中缺少JOIN子句。

正如http://dev.mysql.com/doc/refman/5.0/en/join.html所述,LEFTRIGHTOUTER联接需要有ON条款。

应该是这样的:

   SELECT *
     FROM t1 
LEFT JOIN db2.t2 AS  t2 ON t1.id=t2.id
     JOIN t3 ON t1.id=t3.id  
    WHERE 1;

(当然,根据您的需要调整条件)