【发布时间】:2013-07-27 22:06:48
【问题描述】:
我在 MYSQL 中有以下非常简单的左外连接:
select * from employee left join department
但是,这给了我毫无意义的错误信息
错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在第 1 行的 '' 附近使用
但如果我只是添加一个如下所示的 ON 子句,则查询有效:
select * from employee left join department on employee.departmentId = department.id;
那么,ON 子句是强制性的吗?如果我执行“完全连接”,它肯定可以在没有 ON 子句的情况下工作,但是左右外连接不起作用,除非我向它们添加 ON 子句。
顺便说一下,这两张表没有什么特别之处,它们之间也没有外键关系。
版本:
这是在 MySql 中工作的完整连接:
select * from employee full join department;
【问题讨论】:
-
Full outer加入 do 需要ON子句。交叉连接没有。 (以及自然连接) -
" 如果我执行“完全联接”,它肯定可以在没有 ON 子句的情况下工作" - 在 MySQL 中?真的吗??
-
是的,这是一个有效的方法:select * from employee full join department;
标签: mysql sql oracle outer-join