首页 > 解决方案 > 这个 TSQL V() 方法/语法/函数是什么?

问题描述

我刚刚遇到这种用于定义内联视图的语法......

SELECT myAlias, myAlias1 FROM ( SELECT myCol, myCol1 FROM myTable ) V( myAlias, myAlias1)

我可以看到 V 正在做什么,但这叫什么,它在哪里记录?当我可以在内联视图中定义别名时,为什么还要这样做呢?

谷歌搜索似乎不起作用,因为 V 不是一个词!

标签: sqlsql-servertsql

解决方案


V只是另一个别名 - 它是整个子查询的别名,而不是单个列的别名。

从FROM 的语法中查看派生表行:

   | derived_table [ [ AS ] table_alias ] [ ( column_alias [ ,...n ] ) ]   

Vtable_alias

当我可以在内联视图中定义别名时

是的,你经常可以。但有时您正在构建一个复杂的查询,其中在单个列表达式中有大量嵌套,并且将所有将暴露给查询的其余部分的名称(thetable_alias和es)放在一个位置会更容易。column_alias


推荐阅读