SQLServer
qq_20227495
这个作者很懒,什么都没留下…
展开
-
第7章 联接和集合运算
7.1 联接基本联接类型(交叉联接,内联接,外联接)交叉联接(CROSS), 对两个表执行笛卡儿积运算。示例一: 为每个员工,每个客户,一段时间每一天生成一个订单if OBJECT_ID(‘dbo.MyOrders’) is not nulldrop table dbo.MyOrders;godeclare @fromdate as date=‘20190101’;declare ...原创 2018-12-20 05:28:10 · 188 阅读 · 0 评论 -
第9章 TOP和APPLY
9.1. TOPTOP和修改,将一个大的delete或者update拆分成几个小的,会有比较好的性能–数据准备IF OBJECT_ID('dbo.LargeOrders') IS NOT NULL DROP TABLE dbo.LargeOrders;GOSELECT ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS orderid, O1.cu...原创 2018-12-21 05:15:46 · 150 阅读 · 0 评论 -
第8章 数据聚合和透视
8.1 Over 子句--聚合函数跟Over开窗函数一起使用的例子--over() 后面没有Partition by 分区子句,则基于整个输入计算聚合select orderid,custid,empid,val, cast((val/sum(val) over() *100.) as numeric(4,2)) as pct, cast(val-avg(val) over() as n...原创 2018-12-21 05:31:19 · 232 阅读 · 0 评论 -
第1章 逻辑查询处理
PIVOT操作涉及以下三个逻辑阶段:P1: 分组P2: 扩展P3: 聚合Eg:select empid,[2006],[2007],[2008] from(select empid,year(orderdate) as orderyear,val from Sales.OrderValues) ovpivot(sum(val) for orderyear in ([2006],[20...原创 2018-12-18 06:03:10 · 78 阅读 · 0 评论 -
第6章 子查询、表表达式和排名函数
6.1 子查询6.1.1 独立子查询关系除法,返回每个美国雇员至少为其处理过一个订单的所有客户,解法1:select custidfrom Sales.Orderswhere empid in (select empid from HR.Employees where country =‘USA’)group by custidhaving count(distinct empid)...原创 2018-12-19 05:55:58 · 242 阅读 · 0 评论