SQL 別名
透過使用 SQL,可以為表格名稱或列名稱指定別名。
SQL 別名
透過使用 SQL,可以為資料表名稱或列名稱指定別名。
基本上,建立別名是為了讓列名的可讀性更強。
列的SQL 別名語法
SELECT column_name AS alias_name
FROM table_name;
FROM table_name;
表格的SQL 別名語法
##SELECT
column_name(s)FROM
table_name AS alias_name;
table_name AS alias_name;
示範資料庫在本教學中,我們將使用php 樣本資料庫。 下面是選自"Websites" 表的資料:
+----+--------------+--- ------------------------+-------+---------+
| id | name | url | alexa | country |
+----+----------+------------------------------------ --------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA | 1 |
| 2 | 淘寶 | https://www.taobao.com/ | 13 | CN cn/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 201 https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+----------- ------------------+-------+---------+
#
#列的別名實例下面的SQL 語句指定了兩個別名,一個是name 欄位的別名,一個是country 欄位的別名。
#+----+----------+------------------------------------ --------+-------+---------+
| 1 | Google | https://www.google.cm/ | 1 | USA | 1 |
| 2 | 淘寶 | https://www.taobao.com/ | 13 | CN cn/ | 4689 | CN |
| 4 | 微博 | http://weibo.com/ | 201 https://www.facebook.com/ | 3 | USA |
| 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
+----+---------------+----------- ------------------+-------+---------+
#
以下是"access_log" 網站存取記錄表的資料:
mysql> SELECT * FROM access_log;
+-----+--------- +-------+------------+
| aid | site_id | count | date |
+-----+------ ---+-------+------------+
| 1 | 1 | 45 | 2016-05-10 |#1 | 2016-05-13 |
| 3 | 1 | 230 | 2016-05-14 |
| 4 | 2 | 10 | 2016-05-14 |
| 5 | 5 | 205 | 2016 -05-14 |
| 6 | 4 | 13 | 2016-05-15 |
| -15 |
| 8 | 5 | 545 | 2016-05 -16 |
| 9 | 3 | 201 | 2016-05-17 |
+-----+---------+-------+----- ---------+
9 rows in set (0.00 sec)
+-----+--------- +-------+------------+
| aid | site_id | count | date |
+-----+------ ---+-------+------------+
| 1 | 1 | 45 | 2016-05-10 |#1 | 2016-05-13 |
| 3 | 1 | 230 | 2016-05-14 |
| 4 | 2 | 10 | 2016-05-14 |
| 5 | 5 | 205 | 2016 -05-14 |
| 6 | 4 | 13 | 2016-05-15 |
| -15 |
| 8 | 5 | 545 | 2016-05 -16 |
| 9 | 3 | 201 | 2016-05-17 |
+-----+---------+-------+----- ---------+
9 rows in set (0.00 sec)
#列的別名實例下面的SQL 語句指定了兩個別名,一個是name 欄位的別名,一個是country 欄位的別名。
提示:如果列名稱包含空格,要求使用雙引號或方括號:
實例SELECT name AS n, country AS c
在下面的SQL 語句中,我們把四個欄位(name、url、alexa 和country)結合在一起,並建立一個名為"site_info" 的別名:FROM Websites ;
執行輸出結果:實例
SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS
site_info
FROM Websites;
執行輸出結果:表的別名實例
下面的 SQL 語句選取 "php中文網路" 所存取的記錄。我們使用"Websites" 和"access_log" 表,並分別為它們指定表別名"w" 和"a"(透過使用別名讓SQL 更簡短):
實例
#SELECT w.name, w.url, a.count, a.date
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="php中文網";
FROM Websites AS w, access_log AS a
WHERE a.site_id=w.id and w.name="php中文網";
執行輸出結果:
不帶別名的相同的SQL 語句:
實例
SELECT Websites.name, Websites.url, access_log.count, access_log.date
FROM Websites, access_log
WHERE Websites.id=access_log.site_id and Websites.name="php網路";
FROM Websites, access_log
WHERE Websites.id=access_log.site_id and Websites.name="php網路";
執行輸出結果:
在下面的情況下,使用別名很有用:
在查詢中涉及超過一個表格
在查詢中使用了函數
列名稱很長或可讀性差
需要把兩個欄位或多個欄位結合在一起