我正在写这个查询
SELECT first_name , last_name , department_id , department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;
出现这个错误:
ERROR 1052 (23000): Column 'department_id' in field list is ambiguous
当我搜索时,它显示您引用的列是别名,您没有正确引用它。
但是,当我这样做时:
describe departments;
+-----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| department_id | int unsigned | NO | PRI | NULL | |
| department_name | varchar(30) | NO | | NULL | |
| manager_id | int unsigned | YES | MUL | NULL | |
| location_id | int unsigned | YES | MUL | NULL | |
+-----------------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
这是输出。我之前既没有给它起别名,也没有在查询中这样做。
我只是在 SELECT 查询部分写 department_id。
当我写这个查询时,它起作用了。
mysql> SELECT first_name , last_name , department_name FROM employees INNER JOIN departments ON employees.department_id = departments.department_id;
我的问题是有没有命令可以查看当前表或数据库是否有别名的列或表,以便我们相应地引用它们?