我在下面给出的查询中是否有任何错误。为什么左连接显示错误?
SELECT * FROM employee Left JOIN bonus;
我已经使用sqlfiddle在线执行此操作。它向我显示了一个错误。
,也正在面临的问题进行全面外部联接。
SELECT * FROM bonus FULL OUTER JOIN employee ON employee.id=bonus.id;
我在下面给出的查询中是否有任何错误。为什么左连接显示错误?
SELECT * FROM employee Left JOIN bonus;
我已经使用sqlfiddle在线执行此操作。它向我显示了一个错误。
,也正在面临的问题进行全面外部联接。
SELECT * FROM bonus FULL OUTER JOIN employee ON employee.id=bonus.id;
如果不使用ON
,所有连接都自动成为CROSS JOIN
。你可以用CROSS JOIN
来试试。下面是MySQL文档:http://dev.mysql.com/doc/refman/5.5/en/join.html
使用LEFT或RIGHT时不是这样。在这种情况下,必须或使用子句指定的,否则,你得到一个错误 - 也对MySQL的(我只是测试它使用sqlfiddle:http://sqlfiddle.com/#!2/a2581/14559) – Dan
@丹是使用on子句是内部连接和外部连接的持久性。如果不使用,它将作为交叉连接。我的理解是否正确。 –
每文档:http://dev.mysql.com/doc/refman/5.5/en/join.html
join_table:
table_reference [INNER | CROSS] JOIN table_factor [join_condition]
| table_reference STRAIGHT_JOIN table_factor
| table_reference STRAIGHT_JOIN table_factor ON conditional_expr
| table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition
| table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor
在MySQL上是可选的加入,而不是左外连接或右外连接。
什么错误给你? – Sal00m
发布sql小提琴。 – Mihai
我在线执行了此查询。在W3学校工作正常。但是它的sqlfiddle显示“你的SQL语法有错误;检查与你的MySQL服务器版本相对应的手册,以便在第一行使用正确的语法”select * from employee employee left join bonus“ –