在PostgreSQL中,
SELECT * FROM mytable AS t;
CREATE VIEW v AS (SELECT * FROM mytable);
就语法而言,以上两个命令中的AS
是
分别是SELECT
命令和CREATE VIEW
命令的不同子句?
还是相同的命令?
谢谢。
答案 0 :(得分:2)
https://www.postgresql.org/docs/current/static/sql-select.html#SQL-FROM
别名
包含别名的FROM项目的替代名称。别名是 用于简洁起见或消除自我加入的歧义(其中 多次扫描同一张表)。提供别名后,它将 完全隐藏表或函数的实际名称;例如 给定FROM foo AS f,SELECT的其余部分必须引用此 FROM item为f而不是foo。如果写入别名,则列别名列表 也可以写成提供一个或多个的替代名称 表格的列。
https://www.postgresql.org/docs/current/static/sql-createview.html
创建...查看... AS查询
所以它们是不同的。相同的词,不同的用法-第一个定义别名,第二个定义查询...
还有[('roll', 1), ('roll', 2), ('roll', 3), ('roll', 4)]
用于定义正文,依此类推
答案 1 :(得分:2)
SELECT命令和CREATE VIEW命令的不同子句
是的,但这不是一个“子句”,而是介词。
同一命令
不。这不是命令,即使它不是“相同”。
“ AS”(在SQL中使用)是介词-引入下一部分的“连接词”。
它仅用于使SQL看起来更像英语,并且在别名之前使用(如您的第一个示例)是可选的。