2015-03-09 2 views
2

Am видя это в скриптеSQL Server: SELECT п FROM (VALUES (0), (0), (0), (0)) т (п)

SELECT n FROM (VALUES(0),(0),(0),(0)) t(n) 

Я знаю, что он делает. Он возвращает столбец с именем «n» с 4 строками, каждый из которых равен 0. Но что это значит? Что такое t (n), а что такое n?

+1

«т» является таблица псевдонимов, «п» псевдоним первого столбца – mxix

ответ

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 
4

t это псевдоним таблицы. В то время как n это имя, чтобы дать в колонну

SELECT * FROM (VALUES(0),(0),(0),(0)) TheAlias(theColumn)

Дает:

theColumn 
0 
0 
0 
0 
Смежные вопросы