首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> SQL 基礎

SQL 別名完整教學:欄位別名與表別名語法、實戰範例與最佳實務

     編輯:SQL 基礎

SQL 別名完整教學


別名(Alias)為欄位或表指定暫時名稱,提升查詢可讀性、簡化複雜 SQL 撰寫,並解決欄位名稱衝突問題。別名僅在該查詢範圍內有效。


語法結構

欄位別名

SELECT column_name AS alias_name
FROM table_name;
  • AS 關鍵字可省略,但建議保留以利閱讀。
  • 別名含空格或特殊字元時,需用雙引號 "別名" 或方括號 [別名](視資料庫而定)。

表別名

SELECT column_name(s)
FROM table_name AS alias_name;

表別名常用於多表聯結、子查詢、自我聯結等情境。


演示資料庫:RUNOOB 範例資料

Websites 表

+----+--------------+---------------------------+-------+---------+
| 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     |
+----+--------------+---------------------------+-------+---------+

access_log 表

+-----+---------+-------+------------+
| 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 |
+-----+---------+-------+------------+

實戰範例

範例 1:欄位別名 - 簡化輸出欄位名稱

SELECT name AS n, country AS c
FROM Websites;

輸出結果:

範例 2:欄位別名 - 合併多欄位並命名

SELECT name, CONCAT(url, ', ', alexa, ', ', country) AS site_info
FROM Websites;

輸出結果:

範例 3:表別名 - 簡化多表聯結查詢

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)。
  • 欄位別名:使用 snake_case 或 camelCase,語意清晰(total_amount、visitCount)。
  • 避免使用保留字作為別名;若必須用,加上引號。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved