"A Training Solution Provider delivering Learning Skills to keep forever"

Call the JCS training team free now 0800 5425 150 Or mail Email | training@jcstraining.com

Microsoft SQL Server Programming 5 Days

Course Overview

This 5-day course is intended for students new to querying and programming with Microsoft SQL Server products who need a total immersion in the subject on a SQL Server 2016 or 2017 platform. This is a very comprehensive and intensive course with plenty of illustrated examples and augmented with practical hands-on exercises to enhance the learning experience.




Applies to all versions from SQL Server 2012 through to Server 2022.

DURATION: 5 days



Additionally, with the course structure being fully modularised, customised versions of this course can also be devised and delivered to suit individual requirements. In fact, specific content from this course could also be combined with material from other related courses to produce a bespoke training package – just ask for details.


Students should be familiar with basic programming concepts and also understand the fundamental design of relational databases including, but not restricted to, the purpose of primary and foreign keys, entity relationships, and data normalization, such as can be found in the following course.

• SQL Server 2016 and 2017 Relational Database Design and Querying Fundamentals


Upon successful completion of this course, students will be able to:

• Identify the Primary Components of a Typical SQL Server Installation

• Identify the Tools Available in SQL Server

• Use SQL Server Management Studio (SSMS)

• Understand the Components of Transact-SQL (T-SQL)

• Retrieve, Filter and Sort Data

• Work with the Native SQL Server Data Types

• Query Data from Multiple Tables Using Joins

• Summarize and Group Data

• Use Window Functions for Ranking and Aggregating Data

• Combine and Limit Result Sets

• Work with Subqueries

• Use Crosstab Queries

• Use Common Table Expressions

• Work with SQL Server Date and Time Data

• Modify Data with INSERT, DELETE and UPDATE

• Merge Data with the MERGE Statement

• Understand and Implement Transactions

• Understand SQL Server Locks

• Understand SQL Server Indexes

• Understand Query Performance Issues

• Create and Manage Views

• Control the Flow of Program Execution

• Create and Implement Stored Procedures

• Handle Errors and Exceptions

• Create and Implement User Defined Functions

• Create and Implement Triggers



1. Introduction to SQL Server Management Studio

Identify the Tools and Components of SQL Server

Identifying the Elements of SSMS

Objects in a SQL Server

Database Synonyms

Database Diagrams

Components of a SQL Server Database Table

The Querying Environment

Creating a Script

Adding Comments to your Code

2. Introduction to SQL and Transact-SQL ANSI-SQL and Transact-SQL (T-SQL)

Categories of SQL Statements

3. Using the SELECT Statement to Retrieve Data

Examine the Basic Syntax of the SELECT Statement

Using String Literals and Expressions

Retrieving Columns of Data from a Table

Using Aliases for Column Names

4. Filtering Rows of Data with the WHERE Clause

How to Use the WHERE Clause Overview of Operators

Filter Data by Using Comparison Operators

Filter Data by Using String Comparisons

Filter Data by Using Logical Operators

Filter Data Using a Range of Values

Filter Data Using a List of Values

Filter Data with NULL Values

Filtering Date and Time Data

5. Formatting and Sorting Result Sets

Sorting Data Using the ORDER BY Clause

Eliminating Duplicate Rows with DISTINCT

Introducing Native SQL Server Functions

Getting Help on Functions

Functions Relating to NULL Values

Using the CASE Expression

6. Working with SQL Server Data Types

Native SQL Server Data Types

Data Type Precedence

Implicit Data Type Conversions

Explicit Data Type Conversion Functions

Working with Variables

Using Batches

7. Querying Data from Multiple Tables Using Joins

Introduction to Joins

Using Inner Joins Using Outer Joins

Using Cross Joins

Using Aliases for Table Names

Joining More than Two Tables Joining a Table to Itself (Self Join)

Using Non-Equi Joins

8. Summarizing Data

Using Aggregate Functions

Using Aggregate Functions Native to SQL Server

Using Aggregate Functions with NULL Values

Grouping Summarized Data with GROUP BY Filtering Grouped Data

Using the HAVING Clause

Using the ROLLUP and CUBE Operators


9. Window Functions

Aggregate Window Functions

Ranking Functions

Analytic Window Functions

10. Combining and Limiting Result Sets

Combining Result Sets Using the UNION Operator

Using the EXCEPT and INTERSECT Operators


Limiting Result Sets Using the TOP Operator


11. Working with Subqueries

Introduction to Subqueries

Using Subqueries as Expressions and Derived Tables

Using Correlated Subqueries

Using EXISTS with Correlated Subqueries

Using the APPLY Operator

12. Temporary Storage Table Variables Temporary Tables

13. Crosstab Queries

Using the PIVOT Operator

Using the UNPIVOT Operator

14. Common Table Expressions

Introduction to Common Table Expressions

Using Common Table Expressions

Recursive Queries Using Common Table Expressions

15. SQL Server Date and Time Data Types

Understanding SQL Server Date and Time Data Types

Querying and Modifying Date and Time Data

Native SQL Server Date and Time Functions

Guidelines and Techniques for Querying Dates

16. Inserting Data into Tables

Inserting a Single Row into a Table

Inserting Multiple Rows into a Table

Inserting Values into Identity Columns


17. Deleting Data from Tables

Deleting Rows from a Table Truncating a Table

Deleting Rows Based on Data in Other Tables

Using the OUTPUT Clause with DELETE

18. Updating Data in Tables

Updating Rows in a Table

Updating Rows Based on Data in Other Tables

Using the OUTPUT Clause with UPDATE

19. Merging Data

The MERGE Statement

Practical Examples of Using MERGE

20. Transactions and Locking

What Is a Transaction?

How SQL Server Modifies Data in Tables

Managing Transactions

Nested Transactions

Transaction Isolation

Levels Delayed Durability

SQL Server Locking Architecture

Managing Locks

21. SQL Server Indexes

Understanding SQL Server Index Architecture

Creating and Using Nonclustered Indexes

Creating and Using Clustered Indexes

Filtered Indexes

22. Query Performance Considerations

How SQL Server Processes T-SQL Queries

Examining Execution Plans

Dynamically Generating T-SQL Code

Writing Efficient Search Arguments

23. Implementing Views

Overview of Views

Creating and Modifying a View

Guidelines for Creating Views

Examining the Impact of Using SELECT * in Views

Restrictions for Modifying Data by Using Views

Indexed Views

Partitioned Views

24. Controlling Program Execution

Control-of-Flow Language Statements

Logical Functions

25. Implementing Stored Procedures

Overview of Stored Procedures

How Stored Procedures Are Executed by SQL Server

Creating and Using a Stored Procedure

Parameterising Stored Procedures

Returning Values from a Stored Procedure

Using Table Valued Parameters (TVPs)

Controlling Execution Context

Parameter Sniffing

26. Error Handling

Using @@ERROR



Using the THROW Statement

27. Implementing User Defined Functions

Overview of User Defined Functions (UDFs)

Creating and Modifying Scalar UDFs

Creating and Modifying Table-Valued UDFs

Guidelines for Implementing UDFs

28. Implementing Triggers

Overview of Triggers

How Triggers Work

AFTER Triggers


DDL Triggers

Appendix 1. Querying Metadata

Understanding Metadata

Querying Metadata by Using Views

Querying Metadata by Using Stored Procedures

Querying Metadata by Using Functions

Metadata Discovery in SQL Server

Appendix 2. Distributed Queries

Ad Hoc Distributed Queries Linked Servers

Distributed Queries Against Linked Servers