1. 为表取别名
当表的名字很长或者执行一些特殊查询时,为了方便操作或者需要多次使用相同的表时,可以为表指定别名,以替代表原来的名称。
语法格式如下:
表名 [AS] 表别名
“表名”为数据库中存储的数据表的名称,“表别名”为查询时指定的表的新名称,AS 关键字为可选参数。【例】为 customers 和 orders 表分别取别名,并进行连接查询。SQL 语句如下:
mysql> SELECT c.c_id, o.o_num
-> FROM customers AS c LEFT OUTER JOIN orders AS o
-> ON c.c_id = o.c_id;
+-------+-------+
| c_id | o_num |
+-------+-------+
| 10001 | 30001 |
| 10003 | 30002 |
| 10004 | 30003 |
| 10001 | 30005 |
| 10002 | NULL |
+-------+-------+
在为表取别名时,要保证不能与数据库中的其他表的名称冲突。
2. 为字段取别名
SELECT 语句显示查询结果时,MySQL 会显示每个 SELECT 后面指定的输出列,在有些情况下,显示的列的名称会很长或者名称不够直观,这时可以指定列别名。
语法格式如下,
列名 [AS] 列别名
“列名”表中字段的名称,“列别名”为字段新的名称,AS 关键字为可选参数。 【例】 查询 fruits 表,为 f_name 取别名 fruit_name,为 f_price 取别名 fruit_price,为 fruits 表取别名 f,查询表中f_price 小于 8 的水果的名称,SQL语句如下:
mysql> SELECT f1.f_name AS fruit_name , f1.f_price AS fruit_price
-> FROM fruits AS f1
-> WHERE f1.f_price<8;
+------------+-------------+
| fruit_name | fruit_price |
+------------+-------------+
| apple | 5.20 |
| apricot | 2.20 |
| berry | 7.60 |
| xxxx | 3.60 |
| cherry | 3.20 |
| lemon | 6.40 |
| xbabay | 2.60 |
| grape | 5.30 |
| xbababa | 3.60 |
+------------+-------------+