Itzik Ben-Gan


Itzik Ben-Gan is a contributing editor to SQL Server Pro and a cofounder of SolidQ. He teaches, lectures, and consults internationally. He's a SQL Server MVP and is the author of several books about T-SQL, including Microsoft SQL Server 2012 High-Performance T-SQL Using Window Functions (Microsoft Press).

Check out Itzik's Puzzled by T-SQL blog.
Twitter: @ItzikBenGan

SQL Server 2012: How to Write T-SQL Window Functions, Part 3 1
Itzik wraps up his discussion of SQL Server 2012's window functions by focusing on optimization.
percentage sign in the clouds
T-SQL Challenge - January 18, 2012

If you're looking for a good querying challenge, try to come up with your own solutions to computing PERCENTILE_CONT and PERCENTILE_DISC for a given input argument @pct. Here's how standard SQL defines the computations when applied as ordered set functions:

Microsoft SQL Server 2012: How to Write T-SQL Window Functions, Part 2 1
SQL Server 2012 enhances support for window aggregate functions. In part 2 of this series, Itzik discusses window offset functions and window distribution functions.
How to Use Microsoft SQL Server 2012's Window Functions, Part 1 5
In this article, Itzik introduces the concept of windowing; he describes the elements involved in window specifications, and he covers window aggregate functions.
T-SQL String Manipulation Tips and Techniques, Part 2
Itzik explains how to handle type conversions when you need to convert a character string value to another type, in both SQL Server 2008 and SQL Server Denali.
colorful balls of string
T-SQL String Manipulation Tips and Techniques, Part 1
Learn about some common string manipulation tasks, such as counting occurrences of a substring within a string, verifying an exact number of occurrences of a substring within a string, and replacing multiple contiguous spaces with a single space.
Indiana automobile license plate
Use T-SQL to Generate a Sequence 1
Itzik presents a real-world T-SQL challenge that involves generating a sequence of license plates.
man typing on computer keyboard with data in the background
SQL Server 2005's Apply, Part 1
The APPLY table operator accepts two table expressions as input and applies the right table expression to each row from the left, allowing correlations from the right table expression to refer to attributes from the left side.
How to Determine the Default Cache Value in SQL Server Denali 1
In the current implementation of SQL Server 2012 (formerly code-named Denali), sequences use a cache value of 50 by default—however, this information isn’t officially documented anywhere because Microsoft wants to preserve the right to change it. So, how can you tell what the current cache value is?
Sequences, Part 2
SQL Server Denali’s sequences feature provides several advantages over the IDENTITY column property. Learn how to cache sequence values, obtain a range of sequence values, and produce multiple unique sequence values in the same target row.
man planning database
T-SQL Foundations: Thinking in Sets
Itzik discusses the foundations of set theory and explains why it’s important to think in terms of sets when addressing querying tasks rather than thinking in iterative or cursor terms.
man typing on keyboard with database servers in background
Sequences, Part 1
SQL Server 2012 provides support for sequences, which are more flexible than the IDENTITY column property and offer several advantages over IDENTITY.
Parallelism in SQL Server Query Tuning
SQL Server's choices of whether or not to use parallelism, the degree of parallelism (DOP), and CPU costing aspects of iterators depend on the number of CPUs available in the machine. Itzik presents two tools that make it easy to work on parallelism aspects of queries when you don't have access to the target system.
Itzik continues his discussion of the new SQL Server filter called OFFSET/FETCH. He explains the use of the filter in table expressions, logical query processing, modifications, determinism, and randomization.
SQL Server 11 introduces a new filter called OFFSET/FETCH that allows filtering a requested range of rows based on given ordering, a number of rows to skip, and a number of rows to return.
Upcoming Conferences

Register now to get the best rate available!

From the Blogs
Save money red computer keyboard key
Jul 30, 2014

When More Expensive Processors Actually Cost Less

Smart organizations are always looking for ways to cut costs when it comes to licensing SQL Server. Here are two ideas, or options, to save money....More
Health check note on computer keyboard
Jul 28, 2014

Grasp the Business Value of a Complete SQL Server Health Check

A comprehensive SQL Server health check will provide you with a better understanding of your complex database environment, and delivers answers you need....More
Baby duck swimming alone
Jul 15, 2014

The Marginalization of SQL Server Standard Edition 5

Microsoft seems to be bent on marginalizing SQL Server Standard Edition—both in the sense of the artificial constraints placed upon how much memory it can use, and in terms of what seems to be a shift in focus on the role of Standard Edition from Microsoft....More
SQL Server Pro Forums

Get answers to questions, share tips, and engage with the SQL Server community in our Forums.

Sponsored Introduction Continue on to (or wait seconds) ×