2015-02-18 Alta



This is not a beginner course – you should be at the level of at least SQL Querying Beginner .

Intended Audience

This course is intended for T-SQL developers, DBAs, BI practitioners, report writers, analysts, architects, and SQL Server power users who need to write more advanced queries and develop code using Transact-SQL.

After this course you should

  • Be able to work with programming practices unique to T-SQL
  • Create database tables and define data integrity
  • Query multiple tables using joins and subqueries
  • Simplify code and improve maintainability with table expressions
  • Implement insert, update, delete and merge data modification strategies
  • Tackle advanced techniques such as window functions, pivoting and grouping sets
  • Control data consistency using isolation levels and mitigate deadlocks and blocking
  • Take T-SQL to the next level with programmable objects
  • Be ready to prepare for Microsoft Exam 70-461

Further Training

Consider doing our BI or DBA courses

Course Material

Course Material, normally a leading recommend book is included.

Course Contents

Day 1:
Background to T-SQL Querying
  • Theoretical Background
  • SQL
  • Set Theory
  • Predicate Logic
  • The Relational Model
  • The Data Life Cycle
  • SQL Server Architecture
  • The ABC Flavors of SQL Server
  • SQL Server Instances
  • Databases
  • Schemas and Objects
  • Creating Tables and Defining Data Integrity
  • Creating Tables
  • Defining Data Integrity
Single-Table Queries
  • Elements of the SELECT Statement
  • The FROM Clause
  • The WHERE Clause
  • The GROUP BY Clause
  • The HAVING Clause
  • The SELECT Clause
  • The ORDER BY Clause
  • The TOP and OFFSET-FETCH Filters
  • A Quick Look at Window Functions
  • Predicates and Operators
  • CASE Expressions
  • NULL Marks
  • All-at-Once Operations
  • Working with Character Data
  • Data Types
  • Collation
  • Operators and Functions
  • The LIKE Predicate
  • Working with Date and Time Data
  • Date and Time Data Types
  • Literals
  • Working with Date and Time Separately
  • Filtering Date Ranges
  • Date and Time Functions
  • Querying Metadata
  • Catalog Views
  • Information Schema Views
  • System Stored Procedures and Functions
Day 2:
  • Cross Joins
  • ANSI SQL-92 Syntax
  • ANSI SQL-89 Syntax
  • Self Cross Joins
  • Producing Tables of Numbers
  • Inner Joins
  • ANSI SQL-92 Syntax
  • ANSI SQL-89 Syntax
  • Inner Join Safety
  • More Join Examples
  • Composite Joins
  • Non-Equi Joins
  • Multi-Join Queries
  • Outer Joins
  • Fundamentals of Outer Joins
  • Beyond the Fundamentals of Outer Joins
  • Self-Contained Subqueries
  • Self-Contained Scalar Subquery Examples
  • Self-Contained Multivalued Subquery Examples
  • Correlated Subqueries
  • The EXISTS Predicate
  • Beyond the Fundamentals of Subqueries
  • Returning Previous or Next Values
  • Using Running Aggregates
  • Dealing with Misbehaving Subqueries
Day 3:

Table Expressions
  • Derived Tables
  • Assigning Column Aliases
  • Using Arguments
  • Nesting
  • Multiple References
  • Common Table Expressions
  • Assigning Column Aliases in CTEs
  • Using Arguments in CTEs
  • Defining Multiple CTEs
  • Multiple References in CTEs
  • Recursive CTEs
  • Views
  • Views and the ORDER BY Clause
  • View Options
  • Inline Table-Valued Functions
  • The APPLY Operator
Set Operators
  • The UNION Operator
  • The UNION ALL Multiset Operator
  • The UNION Distinct Set Operator
  • The INTERSECT Operator
  • The INTERSECT Distinct Set Operator
  • The INTERSECT ALL Multiset Operator
  • The EXCEPT Operator
  • The EXCEPT Distinct Set Operator
  • The EXCEPT ALL Multiset Operator
  • Precedence
  • Circumventing Unsupported Logical Phases
Day 4:
Beyond the Fundamentals of Querying
  • Window Functions
  • Ranking Window Functions
  • Offset Window Functions
  • Aggregate Window Functions
  • Pivoting Data
  • Pivoting with Standard SQL
  • Pivoting with the Native T-SQL PIVOT Operator
  • Unpivoting Data
  • Unpivoting with Standard SQL
  • Unpivoting with the Native T-SQL UNPIVOT Operator
  • Grouping Sets
  • The GROUPING SETS Subclause
  • The CUBE Subclause
  • The ROLLUP Subclause
  • The GROUPING and GROUPING_ID Functions
Data Modification
  • Inserting Data
  • The INSERT VALUES Statement
  • The INSERT SELECT Statement
  • The INSERT EXEC Statement
  • The SELECT INTO Statement
  • The BULK INSERT Statement
  • The Identity Property and the Sequence Object
  • Deleting Data
  • The DELETE Statement
  • The TRUNCATE Statement
  • DELETE Based on a Join
  • Updating Data
  • The UPDATE Statement
  • UPDATE Based on a Join
  • Assignment UPDATE
  • Merging Data
  • Modifying Data Through Table Expressions
  • Modifications with TOP and OFFSET-FETCH
  • The OUTPUT Clause
Day 5:
Transactions and Concurrency
  • Transactions
  • Locks and Blocking
  • Locks
  • Troubleshooting Blocking
  • Isolation Levels
  • The READ UNCOMMITTED Isolation Level
  • The READ COMMITTED Isolation Level
  • The REPEATABLE READ Isolation Level
  • The SERIALIZABLE Isolation Level
  • Isolation Levels Based on Row Versioning
  • Summary of Isolation Levels
  • Deadlocks
Programmable Objects
  • Variables
  • Batches
  • A Batch As a Unit of Parsing
  • Batches and Variables
  • Statements That Cannot Be Combined in the Same     Batch
  • A Batch As a Unit of Resolution
  • The GO n Option
  • Flow Elements
  • The IF . . . ELSE Flow Element
  • The WHILE Flow Element
  • An Example of Using IF and WHILE
  • Cursors
  • Temporary Tables
  • Local Temporary Tables
  • Global Temporary Tables
  • Table Variables
  • Table Types
  • Dynamic SQL
  • The EXEC Command
  • The sp_executesql Stored Procedure
  • Using PIVOT with Dynamic SQL
  • Routines
  • User-Defined Functions
  • Stored Procedures
  • Triggers
  • Error Handling

Duration and pricing

  • Full-time over 5 days (R8995 excl VAT incl MS Exam)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R10995 excl Vat)

Duration and pricing

  • Full-time over 5 days (R8995 excl VAT incl MS Exam)
  • Part-time over 4 weeks (2 nights per week, 3 hour sessions) (R10995 excl Vat)
  • Part-time over 8 Saturdays, 3 hour sessions (R10995 excl Vat)
  • Distance-learning over up to 3 months (R7995 excl Vat)


1. Upon completion of this course we will issue you with attendance certificate to certify your attendance and / or completion of the prescribed minimum examples.
2. You have the option to get the competency / academic certificate if you :
hand in a project (pre-approved) covering most of the topics in the book.


On the calender on this page below.
If your browser doesn’t display the calendar below, please click on this link or try using Google Chrome, alternatively please enquire via our ‘Contact Us’ page.


You can download the course registration form on our home page or by clicking here


You may download a pdf copy of this page by clicking here.


Please email us