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 |
广告