別名(Alias)為欄位或表指定暫時名稱,提升查詢可讀性、簡化複雜 SQL 撰寫,並解決欄位名稱衝突問題。別名僅在該查詢範圍內有效。
SELECT column_name AS alias_name FROM table_name;
AS 關鍵字可省略,但建議保留以利閱讀。"別名" 或方括號 [別名](視資料庫而定)。SELECT column_name(s) FROM table_name AS alias_name;
表別名常用於多表聯結、子查詢、自我聯結等情境。
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | https://www.runoob.com/ | 4689 | CN | | 4 | 微博 | https://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow| https://stackoverflow.com/ | 0 | IND | +----+--------------+---------------------------+-------+---------+
+-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 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 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+
SELECT name AS n, country AS c FROM Websites;
輸出結果:

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info FROM Websites;
輸出結果:

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 = '菜鳥教程';
輸出結果:

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 = '菜鳥教程';
輸出結果:

| 場景 | 說明 |
|---|---|
| 多表聯結 | 避免重複輸入長表名,解決同名欄位歧義 |
| 使用聚合/轉換函數 | 為計算結果賦予語意名稱(如 SUM(sales) AS total_sales) |
| 欄位名稱冗長/可讀性差 | 縮寫為簡短別名(customer_id AS cid) |
| 合併多欄位 | 為串接結果命名(first_name || ' ' || last_name AS full_name) |
Websites → w、access_log → a、OrderDetails → od)。total_amount、visitCount)。