我尝试使用以下查询来RIGHT JOIN两个表:
SELECT Persons.firstname, company.lastname FROM Persons RIGHT JOIN company ON Persons.firstname=company.firstname;
它会带来这样的错误:当前不支持RIGHT和FULL OUTER JOIN我们怎么才能摆脱这个呢?注意:我正在使用Mozilla DB管理器。
5tmbdcev1#
通过执行left join并切换表
left join
SELECT Persons.firstname, company.lastname FROM company LEFT JOIN Persons ON Persons.firstname = company.firstname;
iecba09b2#
对于FULL OUTER JOINUNION,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;
wlzqhblo3#
事实上,我认为你可以:1.完全按照Siddappa发布的那样做或1.使用UNION ALL并将WHERE Persons.firstname IS NULL添加到第二个select语句。如果只执行UNION ALL而不执行null检查,则可能会在结果中得到重复的行。我认为#2可能更有效。
UNION ALL
WHERE Persons.firstname IS NULL
3条答案
按热度按时间5tmbdcev1#
通过执行
left join
并切换表iecba09b2#
对于FULL OUTER JOINUNION,LEFT和RIGHT的结果(再次交换LEFT JOIN)JOIN结果...
wlzqhblo3#
事实上,我认为你可以:
1.完全按照Siddappa发布的那样做
或
1.使用
UNION ALL
并将WHERE Persons.firstname IS NULL
添加到第二个select语句。如果只执行UNION ALL而不执行null检查,则可能会在结果中得到重复的行。我认为#2可能更有效。