Reading: Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions by Itzik Ben-Gan


Score: 5/5

Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions

  • Author: Itzik Ben-Gan
  • 244 pages
  • Publisher: Microsoft Press, May 2012
  • Buy on Amazon: Paperback , Kindle
  • ITBookworm Score: 5/5

Anyone who knows me knows the truth: I’m a Ben-Gan fan, and for good reason. Itzik has a consistently understandable and concise writing style. He simplifies complex concepts, which is exactly what you need when you’re approaching a new subject. His new book on Window Functions is no exception: it’s well written and very understandable, and comes stuffed with useable examples.

It helps, too, that this book is on an extremely useful sector of SQL Server: T-SQL window functions.  I teach window functions at conferences and online, and I never fail to get really excited about that part of the talk. Window functions are extremely powerful elements of T-SQL that will solve coding problems for you immediately.

I highly recommend that you get this book and read it slowly, stopping to play with the given examples and concepts. Oh, and take copious notes!

Table of Contents

Window Functions is a medium-sized technical book, with only five chapters. The first four chapters have 30-50 pages each, and the final “solutions” chapter has nearly 80 pages of material. The chapters are:

  1. SQL Windowing – This chapter is an outstanding introduction to Window Functions, and even notes where SQL Server deviates from the ISO standard (and where it could be improved).  Side note: This chapter includes a relevant discussion of logical processing order of a query – a highly overlooked and very necessary concept that I speak on often (and every time I do, I recommend a Ben-Gan book).
  2. A Detailed Look at Window Functions – As promised, a detailed account of the different types of window functions, with an emphasis on the logical aspects (as opposed to physical implementation / optimization).
  3. Ordered Set Functions – This covers a type of aggregate function that is not yet available in SQL Server, and provides ways to “simulate them using what’s provided in SQL Server 2012″.
  4. Optimization of Window Functions - The “Go Faster” chapter. This is where we get into execution plans for the window functions, general guidelines, and improving window function performance.
  5. T-SQL Solutions Using Window Functions – This is the applied SQL chapter, covering applications like Sequences of Date and Time Values, Paging, and the famous Gaps and Islands problem.


-Jen McCown,


Leave a Reply

Your email address will not be published. Required fields are marked *