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

CTEs with Multiple Recursive Members, Part 2
Itzik explains how to use a recursive CTE with multiple recursive members to draw a Koch snowflake.
CTEs with Multiple Recursive Members 2
Itzik provides two examples of CTEs with multiple recursive members: genealogy-related queries and the nested set model for representing graphs.
SQL Server 2012 Solutions for Median Calculation 1
Itzik examines new T-SQL features in SQL Server 2012 for computing the median. The type of median calculation he focuses on is one that assumes a continuous distribution model.
red jigsaw puzzle with missing piece
T-SQL Puzzle 4
Itzik presents a puzzle based on the British game show Blockbusters. See whether you can use T-SQL to solve the puzzle.
black calculator keys
Calculate Percentiles
Use T-SQL to implement statistical calculations such as percentile and percentile rank.
road sign pointing to success and failure
Combining Distinct and Non-Distinct Aggregates 3
Itzik presents an optimization improvement related to queries that involve both distinct and non-distinct aggregate computations.
small island in the middle of the ocean
Solving Gaps and Islands with Enhanced Window Functions
SQL Server 2012 provides enhanced window functions to help deal with gap and island problems.
MERGE Statement Tips 2
Itzik discusses several tips for using the T-SQL MERGE statement: preventing MERGE conflicts, understanding that the MERGE ON clause isn’t a filter, realizing that the MERGE USING clause is like the FROM clause in a SELECT statement, and referring to source table elements in the OUTPUT clause.
red percentage key on a calculator
Inverse Distribution Functions
Itzik provides pre-SQL Server 2012 solutions to using ordered set functions for computation of percentiles.
Ordered Set Functions
Various types of calculations can be implemented as ordered set functions, although you currently must rely on workarounds to accomplish this task because SQL Server 2012 doesn't support ordered set functions.
T-SQL Best Practices, Part 2
Itzik continues his discussion of T-SQL best practices; he discusses cloud compatibility, date and time best practices, the importance of writing in a standard way, and performance-related best practices.
illustration of computer code with man's face in background
T-SQL Best Practices, Part 1
Some T-SQL best practices include thinking in a relational way, always remembering NULLs and the three-valued-logic, realizing the full implications of using the NOLOCK hint and therefore avoiding it, and adopting good coding practices.
Example to demonstrate an actual SQL Server execution plan
Understanding Query Plans 2
A key element in query tuning is using the execution plan to determine the reasons for poor query performance. SQL Server provides rich information about query plans in the graphical as well as XML forms of plans.
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:

Digital Magazine Archives

Browse back issues of SQL Server Pro, from January 2007 through the last issue published in April 2014. Find the back issues here.


From the Blogs
May 18, 2015

AlwaysOn Availability Groups and SQL Server Jobs, Part 24: Synchronizing SSIS Packages

In my previous post I covered options for adding “If-checks” into SSIS Packages – or SQL Server Maintenance Plans (which are, effectively, specialized SSIS packages). Once you’ve tackled that process, you’ll need to tackle something else when it comes to managing SSIS packages in conjunction with AlwaysOn Availability Groups. Or, more specifically, you’ll actually need to tackle two tasks....More
May 13, 2015

AlwaysOn Availability Groups and SQL Server Jobs, Part 23: Maintenance Plan Backups and SSIS Packages

In my last post, we took a look at some of the details involved in actually implementing backups against databases being hosted in AlwaysOn Availability Groups. In addition to providing a high-level overview of how sys.fn_hadr_backup_is_preferred_replica() works, I also mentioned that integrating it into backups managed by SQL Server Maintenance Plans isn’t as easy as what you’ll run into with other types of backups....More
Apr 28, 2015

AlwaysOn Availability Groups and SQL Server Jobs, Part 22: Executing Backups

Ultimately, there are a number of ways that DBAs can regularly create backups of their databases. Some of the more common options for managing backups include:...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) ×