-1

我在下面给出的查询中是否有任何错误。

SELECT * FROM employee Left JOIN bonus;

我已经在线使用 sqlfiddle 执行了此操作。它向我显示了一个错误。

并且还面临完全外部连接的问题。

SELECT * FROM   bonus  FULL OUTER JOIN employee ON employee.id=bonus.id;
4

3 回答 3

1

使用 LEFT 或 RIGHT 连接时必须指定连接列。您的 Employee 和 Bonus 表是如何关联的?例如,如果两个表都包含“EmployeeId”列,那么您将执行以下操作:

SELECT * FROM employee LEFT JOIN bonus ON employee.EmployeeId = bonus.EmployeeId
于 2013-10-03T09:51:10.067 回答
0

如果你不使用ON,所有的连接都会自动变成CROSS JOIN. 你可以用CROSS JOIN. 这是 mysql 文档:http ://dev.mysql.com/doc/refman/5.5/en/join.html

于 2013-10-03T09:51:40.483 回答
0

每个文档: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 中,on 对于连接是可选的,但对于左外连接或右外连接不是。

于 2013-10-03T11:57:24.247 回答