正确的语法

问题描述 投票:0回答:1
SELECT s.name, c.name
FROM students s
FULL JOIN enrollments e ON s.id = e.student_id
FULL JOIN courses c ON e.course_id = c.id;

这是我的语句,但它抛出错误代码1064:您的sql语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解第 3 行附近使用的正确语法。 我使用的MySQL版本是8.0。 请帮助我被困住了。

我尝试研究正确的语法,但无济于事,这似乎是正确的语法。 尝试将第 3 行的分号作为 EOF。

sql mysql syntax-error mysql-workbench eof
1个回答
0
投票

我认为你只是在像下面这样的SQL课程中举例。

SELECT
  first_name,
  last_name,
  certificate_name,
  edition,
  grade
FROM student s
FULL JOIN certificate_enrollment cen
  ON s.id = cen.student_id
FULL JOIN certificate_edition ced
  ON cen.edition_id = ced.id
FULL JOIN certificate c
  ON ced.certificate_id = c.id;

事实上,MySQL 没有完整的连接语法。您应该使用 Inner JoinOuter Joins,例如

LEFT JOIN
RIGHT JOIN
。您也可以通过执行
UNION
来模拟它。

© www.soinside.com 2019 - 2024. All rights reserved.