sql server 2008语言基础: Tsql语言基础2简单技巧

--select * from Sales.Orders 
--where orderdate>='2007-06-01' and orderdate<'2007-07-01'
--获得每个月的最后一天, 原理. 随意取一个有31天的月. 比如1月31
--然后加上一个月, 得到2月31. 实际上不存在这天, 应该是2月28或者29. 
--select DATEADD(MONTH, 1, '2012-03-31')


--返回姓氏里面包含字母a两次或者更多次数的雇员.
--select * from hr.Employees where lastname like '%a%a%'

--返回总价格(数量乘以单价)大于10000的订单.
--select orderid, sum(qty*unitprice) from sales.OrderDetails 
--group by orderid having sum(qty*unitprice)>10000

--返回2007年平均运费最高的三个发货国家
--select top 3 shipcountry, AVG(freight) from sales.Orders 
--where orderdate>='2007-1-1' and orderdate<'2008-1-1'
--group by shipcountry order by AVG(freight) desc

--为每个顾客单独根据订单日期的顺序(用orderid作为附加属性)来计算其订单的行号.
--select custid, orderdate, orderid, 
--ROW_NUMBER() over(partition by custid order by orderdate) 
--from sales.Orders 

--排序. 空值null必须排在所有有值的数据之后. 默认是在所有之前的.
select custid, region from Sales.Customers
order by case when region is null then 1 else  0 end, region
本人在长沙, 有工作可以加我QQ4658276
原文地址:https://www.cnblogs.com/jianjialin/p/2427488.html