使用資料表別名來進行連接
資料表別名很實用,因為你可以在查詢的其他部分引用它們,例如 SELECT 陳述式。
在 SELECT 欄位時,欄位名稱可能會有歧義。舉例來說,假設有兩個資料表 apples 和 oranges,兩者都有名為 color 的欄位。你需要在 SELECT 陳述式中使用 apples.color 或 oranges.color 的語法,才能指向正確的資料表。否則,你會得到以下錯誤:
column reference "color" is ambiguous
你將使用 countries 與 economies 兩個資料表的資料,透過加入資料表別名來練習連接,並檢視 2010 年與 2015 年的通膨率。
在撰寫連接時,許多 SQL 使用者會選擇先寫連接的程式碼,再寫 SELECT 陳述式,因為 SELECT 可能需要用到資料表別名。
本練習屬於課程
在 SQL 中進行資料連接
練習說明
- 從第 5 行開始撰寫 INNER JOIN;將
countries AS c(左表)與economies(右表)連接,並為右表設定別名economies AS e。 - 接著在第 7 行使用
code作為連接欄位;此處請勿使用USING指令。 - 最後在第 2 行依序選取下列欄位:從
countries取得的code(別名為country_code)、name、year、以及inflation_rate。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- Select fields with aliases
___
FROM countries AS c
-- Join to economies (alias e)
___
-- Match on code field using table aliases
___