PostgreSQL 中的別名?
通常,我們有一些非常長的表名,每次都寫表名很麻煩。我們可以使用別名來幫助我們,這樣,我們只需要寫一次長表名。
表別名通常寫在語句的 FROM 部分或 JOIN 部分。
例如,假設我們有兩個表,marks 和 student_info,分別定義如下:
marks
姓名 | 學號 | 百分比分數 |
---|---|---|
Aniket | 12 | 24 |
Siddhi | 45 | 65 |
Yash | 26 | 42 |
Isha | 56 | 87 |
student_info
姓名 | 學號 | 年齡 | 性別 |
---|---|---|---|
Aniket | 12 | 26 | 男 |
Isha | 56 | 25 | 女 |
Siddhi | 45 | 23 | 女 |
Yash | 26 | 25 | 男 |
現在,如果您想在一個查詢中檢視學生的姓名、學號、百分比分數和年齡,您的查詢將如下所示:
SELECT marks.name, marks.roll_no, marks.perc_marks, student_info.age FROM marks LEFT JOIN student_info ON student_info.roll_no = marks.roll_no
輸出將是
姓名 | 學號 | 百分比分數 | 年齡 |
---|---|---|---|
Aniket | 12 | 24 | 26 |
Siddhi | 45 | 65 | 25 |
Yash | 26 | 42 | 23 |
Isha | 56 | 87 | 25 |
但是,如您所見,此查詢非常冗長。現在讓我們看看使用別名後此查詢將是什麼樣子。
SELECT a.name, a.roll_no, a.perc_marks, b.age FROM marks a LEFT JOIN student_info b ON b.roll_no = a.roll_no
如您所見,我們只需編寫一次表的名稱。在其他地方,我們使用了表別名,它起作用了。輸出仍然與上面相同。
您可以看到我們在上面的查詢中使用了“表名 別名”語法。另一種稍微更具解釋性的語法是“表名 AS 別名”。因此,上面的查詢也可以寫成:
SELECT a.name, a.roll_no, a.perc_marks, b.age FROM marks AS a LEFT JOIN student_info AS b ON b.roll_no = a.roll_no
它將給出相同的輸出。
姓名 | 學號 | 百分比分數 | 年齡 |
---|---|---|---|
Aniket | 12 | 24 | 26 |
Siddhi | 45 | 65 | 25 |
Yash | 26 | 42 | 23 |
Isha | 56 | 87 | 25 |
廣告