Quantcast
Channel: The Data Specialist
Viewing all articles
Browse latest Browse all 26

Fun facts about Transact-SQL syntax

$
0
0

Magic COUNT

The following query is valid:

SELECT COUNT(*)

It returns 1. Can someone see why?

GROUP BY nothing

The following group by clause is valid:

GROUP BY ()

It groups by “nothing”. A query with such a GROUP BY clause will only compile if it only contains aggregate expressions. As a result, there barely is a point in using it, except maybe if you dynamically build your SQL.

OVER the whole set

If you need aggregates over a complete set, you can use one of the following OVER clauses:

OVER (PARTITION BY 1)

OVER ()

ALL and ANY

ALL and ANY cannot be used on the left-hand side of a scalar comparison.

This query is valid:

1 = ALL( SELECT 1)

This query is not :

ALL( SELECT 1) = 1


Filed under: SQL, SQL Server 2012 Tagged: ALL, ANY, GROUP BY, OVER, syntax, T-SQL, TRANSACT-SQL

Viewing all articles
Browse latest Browse all 26

Trending Articles