2024-07-28|閱讀時間 ‧ 約 27 分鐘

SQL語法 - 別名(ALIAS)

    ※ 別名:

    目的在於提高SQL查詢的可讀性和簡潔性。

    ※ 別名有兩種:

    1. Column Alias(列別名):在查詢結果中的某一列,取一個臨時的新名字。
    2. Table Alias(表別名)給查詢中的表取一個短暫的新名字。

    ※ Column Alias

    ※ 為什麼需要 Column Alias:

    主要用途是為了讓SQL查詢結果更清晰和易於理解。當我們在查詢(SELECT)表格中的欄位時,無論該欄位是表格原本就有的欄位,還是由表達式(expression)組成的新欄位,我們都可以給它取一個新的名字,這就是所謂的列別名。

    ※ 語法:

    • 在SQL語法中,我們通常在欄位或表達式後面加上AS關鍵字,然後接上我們想要的別名。
    raw-image


    • 這裡的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表格中的firstNamelastName欄位。e是我們給employees表格取的別名。
    • FROM employees AS e:這部分是指定我們要查詢employees表格。我們給這個表格取了一個別名e,我們就可以用e來代替employees
    • ORDER BY e.firstName:這部分是指定我們要按照firstName欄位來排序查詢結果。查詢結果會按照員工的名字的字母順序來排序。
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.