• Technical IT

    Solutions delivered throughout the UK
  • Business Applications

    Solutions delivered throughout the UK
  • Professional Best Practice

    Solutions delivered throughout the UK
  • Professional Development

    Solutions delivered throughout the UK

Advanced T-SQL Querying Programming & Tuning for SQL Server 2005/2008 &2012 Bracknell

  • Price £2,575.00
  • Duration 5 day(s)
All major credit cards accepted


The course focuses on writing and tuning queries and programming with T-SQL in SQL Server 2005, 2008 and 2012. In this course you will learn the details and capabilities of T-SQL in the following areas: Logical Query Processing; Query Tuning; Subqueries, Window Ranking and Offset Functions, Joins and Set Operations; Aggregating and Pivoting Data; Window Aggregate Functions; TOP, OFFSET-FETCH and APPLY; Data Modification; Working with Date and Time; Programmable Objects (Dynamic SQL, Views, User Defined Functions, Stored Procedures, Triggers, Transactions and Concurrency, Exception Handling); Graphs, Trees and Hierarchies.

Along the course you will learn how to use T-SQL to solve practical problems such as: Relational Division, Ranking and Offsets, Missing and Existing Values (Gaps and Islands), Separating Elements, Running Totals, Pivoting and Unpivoting, Custom Aggregations, Dynamic Analysis of Grouping Sets, TOP and OFFSET-FETCH Problems, Top N Per Group, Paging, Aggregate over Columns, Data De-duplication, Handling Sequences, Treatment of Temporal Intervals (Overlaps, Max Concurrent, Packing), Dynamic Filtering, and more.

You will learn how to tune your queries, how to develop efficient routines including user defined functions, stored procedures and triggers, work in multi-user environments with transactions and isolation levels, and use dynamic SQL securely and efficiently.

You will also learn how to maintain and query hierarchical data. You will learn what graphs, trees and hierarchies are, what the common requests against graphs are, and how to write T-SQL code to handle those requests. Several different solutions will be presented including: Enumerated Paths, Nested Sets, Nested Iterations using Recursive Queries, and using the HIERARCHYID datatype.

The course provides a dedicated module focusing on query tuning. The module covers internals and index tuning, index access methods, temporary tables, set vs. cursors, and query tuning using query revisions. Moreover, query tuning is in the heart of this course and is incorporated in the different modules throughout the course.

With each querying/programming problem the discussions will revolve around logical aspects, set-based vs. procedural programming and optimization of the solutions.

This course was developed by Itzik Ben-Gan, a mentor and one of the founders of Solid Quality Mentors, author of several books about T-SQL, a columnist in SQL Server Magazine, and a regular speaker in SQL Server related events.


At least one year of T-SQL querying and programming experience in SQL Server


Delegates will learn how to:

Understand logical query processing
Understand SQL Server’s internal data structures
Be able to analyze and tune query performance
Be able to analyze query execution plans
Be able to solve complex querying and programming problems
Think in terms of sets
Be able to compare set based and cursor based solutions
Use window functions to improve solutions
Handle date and time data including intervals
Describe performance problems related to use of user defined functions and possible workarounds
Understand execution plan caching and reuse
Understand transactions and concurrency aspects of database programming
Know how to handle hierarchical data and write recursive queries
Describe T-SQL enhancements in SQL Server 2008 and 2012

Course Content

Module 01:

Logical Query Processing
Logical Query Processing Order
Logical Query Processing Example
Phase Details
Set Operations

Module 02:

Query Tuning
Internals and Index Tuning
Temporary Tables
Sets vs. Cursors
Query Tuning with Query Revisions

Module 03:

Multi-Table Queries, Ranking and Offset Functions
Subqueries and Table Expressions
Window Ranking and Offset Functions
Set Operators – LAB 03A

Module 04:

Aggregating and Pivoting Data
Window Aggregate Functions
Pivoting and Unpivoting Data
Custom Aggregations
Grouping Sets – LAB 04A

Module 05:


Module 06:

Data Modification
Inserting Data
Deleting Data
Updating Data
Merging Data
The OUTPUT Clause – LAB 06A

Module 07:

Working with Date and Time
Date and Time Datatypes
Date and Time Functions
Date and Time Challenges
Date and Time Querying Problems – LAB 07A

Module 08:

Programmable Objects
Dynamic SQL
Views and Inline Table Functions
User Defined Functions
Stored Procedures
Transactions and Concurrency
Exception Handling – LAB 08A

Module 09:

Graphs, Trees and Hierarchies
Graphs, Described
Materialized Paths – Custom – Using the HIERARCHYID datatype
Nested Sets
Nested Iterations – Loops – Recursive Queries – LAB 09A

Make Enquiry

Course Enquiry

Book Now

Course Enquiry

Find your local training centre

AddressVenture House
Downshire Way
RG12 1WA
Phone01423 534 630