SQL Server 2008 から記述が短くなったもの の紹介

INSERT の VALUES が複数個かける様になった
insert into [人] ( [名前], [年齢] ) values ( '田中', 10 ), ( '佐藤', 20 ), ( select '鈴木', 30 )

実はこれ テーブル値コンストラクタ と呼びます。
テーブル値コンストラクタ (Transact-SQL)
INSERT 以外でもこんなことも出来る

select [名前], [年齢] 
from ( values ( '田中', 10 ), ( '佐藤', 20 ), ( '鈴木', 30 ) ) as [テーブルに見立てた]( [名前], [年齢] )

これが出来るということは、MERGE の ソースとしても使える

merge [人] as [target] 
 ( values ( '田中', 15 ), ( '佐藤', 25 ), ( '鈴木', 35 ) ) as [src]( [名前], [年齢] ) 
    on [target].[名前] = [src].[名前]
when mateched then update set [年齢] = [src].[年齢] 
when not matched by target then insert ( [名前], [年齢] ) values ( [src].[名前], [src].[年齢] )
when not matched by source then delete;
DECLARE で変数宣言時に代入も出来るようになった

DECLARE @local_variable (Transact-SQL)

SQL Server 2005

declare @hoge as int
set @hoge = 10
select @hoge // 10

SQL Server 2008

declare @hoge as int = 10
select @hoge // 10
複合演算子がサポートされた

複合演算子 (Transact-SQL)
+=, -=, *=, /=, %=, &=, ^=, |=

SQL Server 2005

declare @hoge as int
set @hoge = 10
set @hoge = @hoge + 10
select @hoge // 20

SQL Server 2008

declare @hoge as int = 10
set @hoge += 10
select @hoge // 20