sql - 这个 TSQL V() 方法/语法/函数是什么?
问题描述
我刚刚遇到这种用于定义内联视图的语法......
SELECT myAlias, myAlias1 FROM ( SELECT myCol, myCol1 FROM myTable ) V( myAlias, myAlias1)
我可以看到 V 正在做什么,但这叫什么,它在哪里记录?当我可以在内联视图中定义别名时,为什么还要这样做呢?
谷歌搜索似乎不起作用,因为 V 不是一个词!
解决方案
V
只是另一个别名 - 它是整个子查询的别名,而不是单个列的别名。
从FROM 的语法中查看派生表行:
| derived_table [ [ AS ] table_alias ] [ ( column_alias [ ,...n ] ) ]
V
是table_alias
。
当我可以在内联视图中定义别名时
是的,你经常可以。但有时您正在构建一个复杂的查询,其中在单个列表达式中有大量嵌套,并且将所有将暴露给查询的其余部分的名称(thetable_alias
和es)放在一个位置会更容易。column_alias