在 MySQL 中执行 FULL OUTER JOIN 查询时出错 [重复]

Posted

技术标签:

【中文标题】在 MySQL 中执行 FULL OUTER JOIN 查询时出错 [重复]【英文标题】:Error when executing a FULL OUTER JOIN query in MySQL [duplicate] 【发布时间】:2018-06-07 23:16:07 【问题描述】:

您好,我正在尝试在 mysql 中执行查询,但出现以下错误

查询:-

 SELECT * FROM user_registration FULL OUTER JOIN user_details ON user_registration.email = user_details.gmail

错误是:

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 1 行的“OUTER JOIN dream ON user_registration.email = user_details.gmail LIMIT 0, 25”附近使用正确的语法

【问题讨论】:

MySQL 中没有full outer join 那么我应该用什么来从多个表中获取数据 我怀疑你需要full outer joininner joinleft join 应该没问题。 嗨。我们无法读懂你的想法。阅读并采取行动minimal reproducible example。但是,在您考虑发布问题之前,请先搜索一下您的问题。 How to Ask PS“从多个表中获取数据”也没有任何意义。 有外部连接:这里是链接:w3schools.com/sql/sql_join_full.asp 【参考方案1】:

由于 MySQL 中没有 full outer join,因此您可以使用 leftright outer joins 和 union

select * from user_registration ur left join user_details ud on ur.email = ud.gmail
union
select * from user_registration ur right join user_details ud on ur.email = ud.gmail

【讨论】:

我不同意@potashin,这是一个完整的外部连接:w3schools.com/sql/sql_join_full.asp

以上是关于在 MySQL 中执行 FULL OUTER JOIN 查询时出错 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MySQL 中进行 FULL OUTER JOIN?

如何在 MySQL 中进行 FULL OUTER JOIN?

如何在 MySQL 中 FULL OUTER JOIN 多个表

MySQL中没有FULL OUTER JOIN的处理

为啥 MySQL 会在 FULL OUTER JOIN 上报告语法错误?

为啥 MySQL 会在 FULL OUTER JOIN 上报告语法错误?