mysql数据库在查询的时候不能使用字段别名,字段别名只在显示的时候显示出来

例如:现在有department表,如下:

mysql> select * from department;
+------+-----------+--------------+-------------+
| d_id | d_name    | function_    | address     |
+------+-----------+--------------+-------------+
| 1001 | 科研部    | 研发产品     | 3号楼5层    |
| 1002 | 生产部    | 生产产品     | 5号楼1层    |
| 1003 | 销售部    | 策划销售     | 5号楼1层    |
+------+-----------+--------------+-------------+
3 rows in set (0.00 sec)
mysql> select d_name as department_name from department where
    -> department_name = 销售部;
ERROR 1054 (42S22): Unknown column 'department_name' in 'where clause'

对比地,表别名却可以在查询说中使用,例如:

mysql> select * from department d where d.d_id = 1003;
+------+-----------+--------------+-------------+
| d_id | d_name    | function_    | address     |
+------+-----------+--------------+-------------+
| 1003 | 销售部    | 策划销售     | 5号楼1层    |
+------+-----------+--------------+-------------+
1 row in set (0.00 sec)

总结,mysql字段别名在显示的时候用,查询时候不能用,表别名在查询时候用,在显示的时候不用。

                

你可能感兴趣的:(mysql)