SQL入門教學手冊login
SQL入門教學手冊
作者:php.cn  更新時間:2022-04-12 14:15:40

SQL 別名



透過使用 SQL,可以為表格名稱或列名稱指定別名。


SQL 別名

透過使用 SQL,可以為資料表名稱或列名稱指定別名。

基本上,建立別名是為了讓列名的可讀性更強。

列的SQL 別名語法

SELECT column_name AS alias_name
FROM table_name;

表格的SQL 別名語法

##SELECT
column_name(s)FROM
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     |
+----+---------------+----------- ------------------+-------+---------+

#

以下是"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)

#列的別名實例

下面的SQL 語句指定了兩個別名,一個是name 欄位的別名,一個是country 欄位的別名。

提示:如果列名稱包含空格,要求使用雙引號或方括號:

實例

SELECT name AS n, country AS c
FROM Websites ;
執行輸出結果:

在下面的SQL 語句中,我們把四個欄位(name、url、alexa 和country)結合在一起,並建立一個名為"site_info" 的別名:

實例

                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中文網";

執行輸出結果:

不帶別名的相同的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網路";

執行輸出結果:

在下面的情況下,使用別名很有用:

  • 在查詢中涉及超過一個表格

  • 在查詢中使用了函數

  • 列名稱很長或可讀性差

  • 需要把兩個欄位或多個欄位結合在一起

#