MySql外部连接错误1064

MySql外部连接错误1064,mysql,Mysql,我在尝试外部连接4个表2 x 2时出错,以匹配两者之间缺少的链接。我还想显示那些不匹配的行 此查询工作正常: select r.name AS r, a.name AS a, f.name AS f from Field f join Order o on f.f2o = o.oid join Resource r on r.name = o.name join Attribute a on a.a2r=

我在尝试外部连接4个表2 x 2时出错,以匹配两者之间缺少的链接。我还想显示那些不匹配的行

此查询工作正常:

select
  r.name    AS r,
  a.name    AS a,
  f.name    AS f
from Field f
     join Order o 
    on f.f2o = o.oid
     join Resource r 
    on r.name = o.name
     join Attribute a 
    on a.a2r= r.oid and f.name = a.name;
但如果我使用left或outer,它将不再工作。这不起作用:

select
  r.name    AS r,
  a.name    AS a,
  f.name    AS f
from Field f
     join Order o 
    on f.f2o = o.oid
     join Resource r 
    on r.name = o.name
     outer join Attribute a             -- <--- here is the issue
    on a.a2r= r.oid and f.name = a.name;
返回

执行1个查询,0个成功,1个错误,0个警告

查询:选择r.name为r,a.name为a,f.name为f,oi.action为 来自t\m\U产品行动行动文件fld的行动加入t\m\U产品行动文件 哎

错误代码:1064您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 在a.attr2rfs=r.oid和上使用near'outer join t_m_attr a的语法 f、 名称=a。第11行的名称限制为0,1000'


提前谢谢

没有这样的事。使用左连接、右连接或使用左连接和右连接的并集模拟完整的外部连接

连接在不同的SQL方言中是非常不同的。有些调用的连接稍有不同,有些没有特定的连接,有些使用不同的语法(例如没有交叉连接)支持它们,但您仍然可以使用连接执行交叉连接,而无需条件。请务必阅读您使用的SQL方言的文档

有些人使用外部联接来表示完全外部联接,而另一些人使用外部联接作为一个类别,具有三个左、右和完全外部联接。但是MySQL没有完整的外部连接