数据库错误 - 目前不支持RIGHT和FULL OUTER JOIN

时间:2017-08-08 11:00:48

标签: sql sqlite join

我试图使用此查询右键加入两个表

SELECT Persons.firstname, company.lastname
FROM Persons
RIGHT JOIN company ON Persons.firstname=company.firstname;

出现此错误 -

  

目前不支持RIGHT和FULL OUTER JOIN

我们怎样摆脱这个?

注意:我正在使用Mozilla数据库管理器。

3 个答案:

答案 0 :(得分:9)

通过执行left join并切换表

SELECT Persons.firstname, company.lastname
FROM company
LEFT JOIN Persons ON Persons.firstname = company.firstname;

答案 1 :(得分:2)

对于FULL OUTER JOIN UNION ,结果为LEFT和RIGHT(再次交换为LEFT JOIN)JOIN结果...

 SELECT Persons.firstname,company.lastname FROM Persons LEFT JOIN company ON 
 Persons.firstname=company.firstname
 union 
 SELECT Persons.firstname, company.lastname FROM company LEFT JOIN Persons ON 
 Persons.firstname=company.firstname;

答案 2 :(得分:0)

实际上,我认为您可以:

  1. 完全按照悉达巴发布的内容进行

  1. 使用 UNION ALL 并将 WHERE Persons.firstname IS NULL 添加到第二个 select 语句。如果您只执行 UNION ALL 而没有进行空检查,您可能会在结果中得到重复的行。

我认为 #2 可能更有效。