Select Clause

The Select command retrieves data from a specified source. As part of the select query, you can use the column name ColumnName, the properties of a complex object ComplexColumn.Property, and the method SomeMethod(...). Returned columns or expressions must be aliased when they are used with set operators or as part of common table expressions. For example:

with Dummy as (
   select 1 + 2 as 'EvaluatedExpression', SomeMethod(SomeColumn) as 'MyMethod', SomeColumn from #dummy.source()
)
select EvaluatedExpression, SomeColumn, MyMethod from Dummmy

in this particular case, SomeMethod(SomeColumn) and 1 + 2 need to be aliased because they represent a complex expression within the CTE expression. Another example here involves set operators, which require that the columns match on both sides.

select ColumnName, 1 + 2 as 'EvaluatedExpression', SomeMethod(SomeColumn) as 'MyMethod' from #dummy.source()
union
select OtherMethod(ColumnName) as ColumnName, 3 + 4 as 'EvaluatedExpression', SomeMethod2(SomeColumn) as 'MyMethod' from #dummy.source()

As you can see, both operators require the same name. What is not visible here, but is also very important, is that expressions on both sides must return the same types.


This site uses Just the Docs, a documentation theme for Jekyll.