banner image

MS SQL Server 2016/17 Programming

5 Day Instructor-led
course icon

Course Information

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. 

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

Course Objectives

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

  • Identify the Primary Components of a Typical SQL Server 2016 or 2017 Installation
  • Identify the Tools Available in SQL Server 2016 or 2017
  • 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 Triggers

Course Outline

1. Introduction to SQL Server Management Studio
2. Introduction to SQL Server Integration Services
  • Identify the Tools and Components of SQL Server
  • Identifying the Elements of SSMS
  • Objects in a SQL Server Database
  • Database Diagrams
  • Components of a SQL Server Database Table
  • The Querying Environment
  • Creating a Script
  • Adding Comments to your Code
3. Introduction to SQL and Transact-SQL
  • ANSI-SQL and Transact-SQL (T-SQL)
  • Categories of SQL Statements
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
10. Window Functions
  • Aggregate Window Functions
  • Ranking Functions
  • Analytic Window Functions
11. Combining and Limiting Result Sets
  • Combining Result Sets Using the UNION Operator
  • Using the EXCEPT and INTERSECT Operators
  • Using UNION, EXCEPT, and INTERSECT Together
  • Limiting Result Sets Using the TOP Operator
  • Using OFFSET/FETCH NEXT Filters
12. 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
13. Temporary Storage
  • Table Variables
  • Temporary Tables
14. Crosstab Queries
  • Using the PIVOT Operator
  • Using the UNPIVOT Operator
15. Common Table Expressions
  • Introduction to Common Table Expressions
  • Using Common Table Expressions
  • Recursive Queries Using Common Table Expressions
16. 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
17. Inserting Data into Tables
  • Inserting a Single Row into a Table
  • Inserting Multiple Rows into a Table
  • Inserting Values into Identity Columns
  • The SEQUENCE Object
  • Differentiating Various INSERT Statements
  • Using the OUTPUT Clause with INSERT
18. 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
19. Updating Data in Tables
  • Updating Rows in a Table
  • Updating Rows Based on Data in Other Tables
  • Using the OUTPUT Clause with UPDATE
20. Merging Data
  • The MERGE Statement
  • Practical Examples of Using MERGE
21. 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
22. SQL Server Indexes
  • Understanding SQL Server Index Architecture
  • Creating and Using Nonclustered Indexes
  • Creating and Using Clustered Indexes
  • Filtered Indexes
23. Query Performance Considerations
  • How SQL Server Processes T-SQL Queries
  • Examining Execution Plans
  • Dynamically Generating T-SQL Code
  • Writing Efficient Search Arguments
24. 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
25. Controlling Program Execution
  • Control-of-Flow Language Statements
  • Logical Functions
26. 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
27. Error Handling
  • Using @@ERROR
  • Using TRY...CATCH
  • Using the THROW Statement
28. 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
29. Implementing Triggers
  • Overview of Triggers
  • How Triggers Work
  • AFTER Triggers
  • INSTEAD OF Triggers
  • DDL Triggers
30. 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
31. Appendix 2. Distributed Queries
  • Ad Hoc Distributed Queries
  • Linked Servers
  • Distributed Queries Against Linked Servers

Dates & Availability

We currently don’t have any dates scheduled for this training course but offer it as a corporate, private course for your own team.

Please use the enquire button below.

Private Courses

We can arrange your own private Microsoft SQL Server course.


Have us build a custom private course tailored to your needs.

Cost Effective

If you are looking to training a group of people private courses can be very cost effective.

Post Course Support

Unlimited post course email support on the course topics.

What Our Clients Think

Got a really good and rounded training session. It met more than my original needs, and has given me great confidence.

Debbie Seymour - FatFace

The trainer demonstrated a deep and knowledgeable understanding of the software and was able to simplify its complexities.

Nathan Lewis - Lincolnshire County Council

Really good course. lots of hands on practice and clear explanations.

fiona dawe - Covetrus Global Software Services

This has been by far one of the most useful and well planned/executed training courses I have ever attended. For this to have been achieved remotely just adds to how impressive it was managed.

Trevor Stratton - Lincolnshire County Council

Fantastic tutor. Great course! Thank you.

Joel Weaver - Science Ltd

This was a really good training, nicely paced, very useful and well presented. Thank you, Stuart!

Joris Latinne - Oracle

Related Courses

Virtual or Classroom
3 Days
Learn the essential skills necessary to maintain a Microsoft SQL Server 2016 or 2017 system infrastructure.
Virtual or Classroom
4 Days
Learn the full reporting lifecycle of designing, managing, and accessing reports in a Microsoft SQL Server 2016 or 2017 environment.
Virtual or Classroom
4 Days
You will learn to create SSIS projects and packages, work with Control Flow Tasks, and design Data Flows using a variety of transformations and data sources.
Virtual or Classroom
5 Days
Learn skills with the Microsoft Transact-SQL (T-SQL) language to query and program Microsoft SQL Server 2016 or 2017.