※ 別名:
目的在於提高SQL查詢的可讀性和簡潔性。
※ 別名有兩種:
- Column Alias(列別名):在查詢結果中的某一列,取一個臨時的新名字。
- Table Alias(表別名):給查詢中的表取一個短暫的新名字。
※ Column Alias
※ 為什麼需要 Column Alias:
主要用途是為了讓SQL查詢結果更清晰和易於理解。當我們在查詢(SELECT)表格中的欄位時,無論該欄位是表格原本就有的欄位,還是由表達式(expression)組成的新欄位,我們都可以給它取一個新的名字,這就是所謂的列別名。
※ 語法:
- 在SQL語法中,我們通常在欄位或表達式後面加上
AS
關鍵字,然後接上我們想要的別名。

- 這裡的
AS
關鍵字是可以忽略。
SELECT column AS alias FROM table;
SELECT column alias FROM table;
- 如果別名中包含空格或特殊字符,我們需要用反引號(``)將其括起來,這樣MySQL才能夠解讀說這是一個完整的別名。

※ 場景:
計算欄位的平均值:假設我們想要計算所有學生的平均分數。可以使用列別名來給這個平均分數取一個更直觀的名字,如下所示:
SELECT AVG(score) AS average_score FROM students;
//使用了AVG(score)這個表達式來計算平均分數,並且給結果取了一個新的名字average_score。
組合多個欄位:假設我們有一個user表格,我們想要將其中first_name和last_name這兩個欄位組合成一個全名。我們可以使用列別名來給這個新的欄位取一個名字,如下所示:

※TABLE ALIAS
※ 為什麼需要 TABLE Alias:
主要用途是為了解決在SQL查詢中合併多個表格時,出現欄位名字重複的問題。當我們需要將兩個或更多的表格合併在一起時,如果這些表格中有相同的欄位名,那麼在查詢時就可能會產生混淆,系統不清楚我們指的是哪一個表格的欄位。這時,我們可以給每個表格取一個臨時的新名字,也就是所謂的表別名,來明確地指定我們要查詢的是哪一個表格的欄位。
※ 語法:
- 在SQL語法中,我們通常在欄位或表達式後面加上
AS
關鍵字,然後接上我們想要的別名。

- 這裡的
AS
關鍵字是可以忽略。
SELECT * FROM table_name AS alias_name;
SELECT * FROM table_name alias_name
- 想要存取這個表格的某個欄位時,可以用別名去存取它,只需要在別名後面加上一個點(
.
),然後寫上欄位名稱。

※ 範例:
從employees
表格中選取所有員工的名字(firstName
)和姓氏(lastName
),並按照名字(firstName
)的字母順序來排序結果。
SELECT
e.firstName,
e.lastName
FROM
employees AS e
ORDER BY e.firstName
解說:
SELECT e.firstName, e.lastName
:這部分是選取employees
表格中的firstName
和lastName
欄位。e
是我們給employees
表格取的別名。FROM employees AS e
:這部分是指定我們要查詢employees
表格。我們給這個表格取了一個別名e
,我們就可以用e
來代替employees
。ORDER BY e.firstName
:這部分是指定我們要按照firstName
欄位來排序查詢結果。查詢結果會按照員工的名字的字母順序來排序。