MySQL中使用表別名與欄位別名的基本教程_Mysql

來源:互聯網
上載者:User

MySQL 表別名(Alias)
SQL 表別名
在 SQL 陳述式中,可以為表名稱及欄位(列)名稱指定別名(Alias),別名是 SQL 標準文法,幾乎所有的資料庫系統都支援。通過關鍵字 AS 來指定。
表別名文法:

SELECT column FROM table AS table_alias

上述 SQL 執行後的效果,給人感覺是對 table_alias 表進行查詢,但實際上對單表做簡單的別名查詢通常是無意義的。一般是對一個表要當作多個表來操作,或者是對多個表進行操作時,才設定表別名。
表別名使用例子
下面是一個簡單的多表操作的例子:
article 文章表:

user 使用者表:

當查詢一篇文章的時候,一般會同時將對應的文章作者查詢出來,通常的 SQL 陳述式為:

SELECT article.title,article.content,user.username FROM article, user WHERE article.aid=1 AND article.uid=user.uid

設定表別名後:

SELECT a.title,a.content,u.username FROM article AS a, user AS u where a.aid=1 and a.uid=u.uid

上述兩條 SQL 陳述式查詢結果是一樣的:

可以看出,使用表別名查詢,可以使 SQL 變得簡潔而更易書寫和閱讀,尤其在 SQL 比較複雜的情況下。除了使用別名來簡化 SQL 外,有些時候例如一個表做自身關聯時,必須要使用別名來當作兩個表進行關聯操作。

MySQL 欄位別名(列別名)
SQL 欄位別名
同本文前文講述的表別名一樣,SQL(MySQL) 也支援對錶的欄位(列)設定別名。
欄位別名文法:

SELECT column AS column_alias FROM table

欄位別名使用例子
欄位別名一個明顯的效果是可以自訂查詢資料返回的欄位名。如下面的表資料:
user 使用者表:

在查詢的時候,對 username 欄位使用別名:

SELECT username AS name,email FROM user

返回查詢結果如下:

當然如此簡單的定義欄位的別名是沒有太大實際意義的,欄位別名更多的意義是解決欄位名的重複,如一個表欄位被查詢兩次或更多次時:

SELECT username AS name,username,email FROM user

或者兩個及更多表進行查詢,有相同的返回欄位時:
article 文章表:

user 使用者表:

上面兩個表都定義了 title 欄位且都需要返回該欄位資料時,就需要定義欄位別名(至少定義一個):

SELECT a.title AS atitle,u.username,u.title AS utitle FROM article AS a, user AS u where a.uid=u.uid

返回查詢結果如下:

可以看出,當查詢返回的欄位名稱相同時,可以通過定義別名來避免衝突,上面查詢的例子同時定義了欄位別名與表別名。
提示
通常,定義欄位別名的 AS 關鍵字可以省略,即下面兩句 SQL 效果一致:

SELECT username AS name FROM userSELECT username name FROM user

但我們建議不要省略 AS 關鍵字。
別名(alias)是 SQL 的標準文法,幾乎所有的資料庫系統都支援。在處理一些複雜的查詢時,可以合理的定義表和欄位別名來使 SQL 陳述式看起來更加精簡易讀,也避免查詢返回相同欄位資料時的衝突。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.