You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

复制PPT中FULL OUTER JOIN语句在MariaDB执行报错求助

问题分析与解决方案

报错原因

MariaDB(以及MySQL)不支持FULL OUTER JOIN语法,这是触发#1064语法错误的直接原因。虽然FULL OUTER JOIN属于标准SQL语法,但MariaDB并未实现该特性,因此执行时会提示语法错误。

教授语句的合理性

教授提供的语句本身在支持FULL OUTER JOIN的数据库(比如PostgreSQL、SQL Server、Oracle)中是完全正确的,并非语句本身有误,只是和你当前使用的MariaDB环境不兼容。

替代实现方案

要实现FULL OUTER JOIN的效果(返回student表和fee表中所有匹配及不匹配的行),可以通过LEFT JOIN + RIGHT JOIN结合UNION来模拟,具体SQL语句如下:

SELECT student.admission_no, student.first_name, 
student.last_name, fee.course, fee.amount_paid
FROM student
LEFT JOIN fee
ON student.admission_no = fee.admission_no
UNION
SELECT student.admission_no, student.first_name, 
student.last_name, fee.course, fee.amount_paid
FROM student
RIGHT JOIN fee
ON student.admission_no = fee.admission_no;
  • LEFT JOIN:返回student表的所有行,以及fee表中匹配的关联行;
  • RIGHT JOIN:返回fee表的所有行,以及student表中匹配的关联行;
  • UNION:自动去除两组结果中重复的匹配行,最终得到与FULL OUTER JOIN完全一致的结果集。

内容的提问来源于stack exchange,提问作者Marc Dwight Betonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:22:07