【发布时间】:2016-06-19 07:32:30
【问题描述】:
这里我试图在 MySQL 编辑器中运行一个查询并遇到一个问题
这是我的查询
select *
FROM my_db.persons FULL JOIN
my_db.employee
ON persons.PersonID=employee.PersonID;
任何帮助将不胜感激
【问题讨论】:
标签: mysql mysql-workbench
这里我试图在 MySQL 编辑器中运行一个查询并遇到一个问题
这是我的查询
select *
FROM my_db.persons FULL JOIN
my_db.employee
ON persons.PersonID=employee.PersonID;
任何帮助将不胜感激
【问题讨论】:
标签: mysql mysql-workbench
MySQL 不支持FULL JOIN,所以也许这就是问题所在。无论如何,我更喜欢较短的表别名:
select *
FROM my_db.persons p LEFT JOIN
my_db.employee e
ON p.PersonID = e.PersonID;
当然,这假设PersonID 列存在于两个表中。
哦,我明白你为什么出错了。也许这可以解释:
select *
FROM my_db.persons full JOIN
my_db.employee e
ON full.PersonID = e.PersonID;
也就是说,由于 MySQL 不支持FULL JOIN,full 被视为表别名。
【讨论】:
检查 Persons 表中是否存在 PersonID 列。确保拼写与表结构中的拼写完全相同。还要检查情况。某些 IDE 区分大小写。
【讨论】: