我在剧本中看到了这个
SELECT n FROM (VALUES(0),(0),(0),(0)) t(n)
我知道它的作用。它返回一个名为'n'的列,其中包含4行,每行的值为0。 但是,这是什么意思?什么是t(n),什么是'n'?
答案 0 :(得分:5)
t
是表别名。虽然n
是要提供给列的名称
SELECT * FROM (VALUES(0),(0),(0),(0)) TheAlias(theColumn)
给出:
theColumn
0
0
0
0
答案 1 :(得分:4)
这是一个table value constructor。 t是表的别名,n是列名。一个更好的例子可能会让它更清晰;
SELECT
MyData.Column1,
MyData.Column2
FROM (VALUES(1, 'Tom'),
(2, 'Dick'),
(3, 'Harry'),
(4, 'Ermintrude')
) MyData(Column1, Column2)
返回
Column1 Column2
----------- ----------
1 Tom
2 Dick
3 Harry
4 Ermintrude