Technical IT

Querying Microsoft SQL Server




This 5-day instructor led course provides delegates with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server 2014. This course is the foundation for all SQL Server-related disciplines;
namely, Database Administration, Database Development and Business Intelligence. This course helps people prepare for exam 70-461.


At the end of this course you will be able to:

Write SELECT queries
Query multiple tables
Sort and filter data
Describe the use of data types in SQL Server
Modify data using Transact-SQL
Use built-in functions
Group and aggregate data
Use subqueries
Use table expressions
Use set operators
Use window ranking, offset and aggregate functions
Implement pivoting and grouping sets
Execute stored procedures
Program with T-SQL
Implement error handling
Implement transactions


Module 1: Introduction to Microsoft SQL Server 2014

This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used to query, documentation sources, and the logical structure of databases.


The Basic Architecture of SQL Server
SQL Server Editions and Versions
Getting Started with SQL Server Management Studio

Lab : Working with SQL Server 2014 Tools

Working with SQL Server Management Studio
Creating and Organizing T-SQL scripts
Using Books Online

Module 2: Introduction to T-SQL Querying

This module introduces Transact SQL as the primary querying language of SQL Server. It discusses the basic structure of T-SQL queries, the logical flow of a SELECT statement, and introduces concepts such as predicates
and set-based operations.


Introducing T-SQL
Understanding Sets
Understanding Predicate Logic
Understanding the Logical Order of Operations in SELECT statements

Lab : Introduction to Transact-SQL Querying

Executing Basic SELECT Statements
Executing queries which filter data using predicates
Executing queries which sort data using ORDER BY

Module 3: Writing SELECT Queries

This module introduces the fundamentals of the SELECT statement, focusing on queries against a single table.


Writing Simple SELECT Statements
Eliminating Duplicates with DISTINCT
Using Column and Table Aliases
Writing Simple CASE Expressions

Lab : Writing Basic SELECT Statements

Write simple SELECT Statements
Eliminate Duplicates Using Distinct
Use Table and Column Aliases
Use a Simple CASE Expression

Module 4: Querying Multiple Tables

This module explains how to write queries which combine data from multiple sources in SQL Server. The module introduces the use of JOINs in T-SQL queries as a mechanism for retrieving data from multiple tables.


Understanding Joins
Querying with Inner Joins
Querying with Outer Joins
Querying with Cross Joins and Self Joins

Lab : Querying Multiple Tables

Writing Queries That Use Inner Joins
Writing Queries That Use Multiple-Table Inner Join
Writing Queries That Use Self Joins
Writing Queries That Use Outer Joins
Writing Queries That Use Cross Joins

Module 5: Sorting and Filtering Data

This module explains how to enhance queries to limit the rows they return, and to control the order in which the rows are displayed. The module also discusses how to resolve missing and unknown results.


Sorting Data
Filtering Data with a WHERE Clause
Filtering with the TOP and OFFSET-FETCH Options
Working with Unknown and Missing Values

Lab : Sorting and Filtering Data

Writing Queries That Filter Data Using a WHERE Clause
Writing Queries That Filter Data Using an ORDER BY Clause
Writing Queries That Filter Data Using the TOP Option
Writing Queries That Filter Data Using the OFFSET-FETCH Clause

Module 6: Working with SQL Server 2014 Data Types

This module explains the data types SQL Server uses to store data. It introduces the many types of numeric and special-use data types. It also explains conversions between data types, and the importance of type precedence.


Introducing SQL Server 2014 Data Types
Working with Character Data
Working with Date and Time Data

Lab : Working with SQL Server 2014 Data Types

Writing Queries That Return Date and Time Data
Writing Queries That Use Date and Time Functions
Writing Queries That Return Character Data
Writing Queries That Use Character Functions

Module 7: Using DML to Modify Data

This module describes the use of Transact-SQL Data Manipulation Language to perform inserts, updates, and deletes to your data.


Inserting Data
Modifying and Deleting Data

Lab : Using DML to Modify Data

Inserting Data
Updating and Deleting Data

Module 8: Using Built-In Functions

This module introduces the use of functions that are built in to SQL Server Denali, and will discuss some common usages including data type conversion, testing for logical results and nullability.


Writing Queries with Built-In Functions
Using Conversion Functions
Using Logical Functions
Using Functions to Work with NULL

Lab : Using Built-In Functions

Write queries which use conversion functions
Write queries which use logical functions
Write queries which test for nullability

Module 9: Grouping and Aggregating Data

This module introduces methods for grouping data within a query, aggregating the grouped data and filtering groups with HAVING. The module is designed to help the student grasp why a SELECT clause has restrictions placed upon
column naming in the GROUP BY clause as well as which columns may be listed in the SELECT clause.


Using Aggregate Functions
Using the GROUP BY Clause
Filtering Groups with HAVING

Lab : Grouping and Aggregating Data

Write queries which use the GROUP BY clause
Write queries which use aggregate functions
Write queries which use distinct aggregate functions
Write queries which filter groups with the HAVING clause

Module 10: Using Subqueries

This module will introduce the use of subqueries in various parts of a SELECT statement. It will include the use of scalar and multi-result subqueries, and the use of the IN and EXISTS operators.


Writing Self-Contained Subqueries
Writing Correlated Subqueries
Using the EXISTS Predicate with Subqueries

Lab : Using Subqueries

Write queries which use self-contained subqueries
Write queries which use scalar and multi-result subqueries
Write queries which use correlated subqueries and EXISTS predicate

Module 11: Using Table Expressions

This module introduces T-SQL expressions which return a valid relational table, typically for further use in the query. The module discusses views, derived tables, common table expressions and inline table-valued functions.


Using Derived Tables
Using Common Table Expressions
Using Views
Using Inline Table-Valued Functions

Lab : Using Table Expressions

Write Queries Which Use Views
Write Queries Which Use Derived Tables
Write Queries Which Use Common Table Expressions
Write Queries Which Use Inline Table-Valued Functions

Module 12: Using Set Operators

This module introduces Microsoft SharePoint Server as a platform for BI, and then focuses on building BI dashboards and scorecards with PerformancePoint Services.


Writing Queries with the UNION Operator

Lab : Using Set Operators

Write queries which use UNION set operators and UNION ALL multi-set operators
Write queries which use CROSS APPLY and OUTER APPLY operators
Write queries which use EXCEPT and INTERSECT operators

Module 13: Using Window Ranking, Offset, and Aggregate Functions

This module introduces window functions including ranking, aggregate and offset functions. Much of this functionality is new to SQL Server 2012. It will cover the use of T-SQL functions such as ROW_NUMBER, RANK, DENSE_RANK,
NTILE, LAG, LEAD, FIRST_VALUE and LAST_VALUE to perform calculations against a set, or window, of rows.


Creating Windows with OVER
Exploring Window Functions

Lab : Using Window Ranking, Offset and Aggregate Functions

Write queries which use ranking functions
Write queries which use offset functions
Write queries which use window aggregate functions

Module 14: Pivoting and Grouping Sets

This module discusses techniques for pivoting data in T-SQL as well to introduce the fundamentals of the GROUPING SETS clause. It will also cover the use of GROUP BY ROLLUP and GROUP BY CUBE syntax in SQL Server.


Writing Queries with PIVOT and UNPIVOT
Working with Grouping Sets

Lab : Pivoting and Grouping Sets

Write queries which use the PIVOT operator
Write queries which use the UNPIVOT operator
Write queries which use the GROUPING SETS subclause

Module 15: Executing Stored Procedures

This module introduces the use of existing stored procedures in a T-SQL querying environment. It discusses the use of EXECUTE, how to pass input and output parameters to a procedure, and how to invoke system stored procedures.


Querying Data with Stored Procedures
Passing Parameters to Stored Procedures
Creating Simple Stored Procedures
Working with Dynamic SQL

Lab : Executing Stored Procedures

Use the EXECUTE statement to invoke stored procedures
Pass parameters to stored procedures
Execute system stored procedures

Module 16: Programming with T-SQL

This module provides a basic introduction to T-SQL programming concepts and objects. It discusses batches, variables, control of flow elements such as loops and conditionals, how to create and execute dynamic SQL statements,
and how to use synonyms.


T-SQL Programming Elements
Controlling Program Flow

Lab : Programming with T-SQL

Declaring Variables and Delimiting Batches
Using Control-of-Flow Elements
Generating Dynamic SQL
Using Synonyms

Module 17: Implementing Error Handling

This module introduces the use of error handlers in T-SQL code. It will introduce the difference between compile errors and run-time errors, and will cover how errors affect batches. The module will also cover
how to control error handling using TRY/CATCH blocks, the use of the ERROR class of functions, and the use of the new THROW statement.


Using TRY / CATCH Blocks
Working with Error Information

Lab : Implementing Error Handling

Redirecting Errors with TRY / CATCH
Using THROW to Pass an Error Message Back to a Client

Module 18: Implementing Transactions

This module introduces the concepts of transaction management in SQL Server. It will provide a high-level overview of transaction properties, cover the basics of marking transactions with BEGIN, COMMIT and ROLLBACK.


Transactions and the Database Engine
Controlling Transactions
Isolation Levels

Lab : Implementing Transactions

Controlling transactions with BEGIN, COMMIT, and ROLLBACK
Adding error handling to a CATCH block

Module 19: Improving Query Performance


Factors in Query Performance 19-2
Displaying Query Performance Data 19-9

Lab: Improving Query Performance 19-15

Module Review and Takeaways 19-19

Module 20: Querying SQL Server Metadata


Querying System Catalog Views and Functions 20-2
Executing System Stored Procedures 20-6
Querying Dynamic Management Objects 20-10

Lab: Querying SQL Server Metadata 20-13

Module Review and Takeaways 20-18

Dates Avaliable

1st - 5th




This course is intended for Database Administrators, Database Developers, and Business Intelligence professionals. The course will very likely be well attended by SQL power users who aren't necessarily database-focused or plan on taking the exam; namely, report writers, business analysts and client application developers.

Working knowledge of relational databases. Basic knowledge of the Microsoft Windows operating system and its core functionality.


  • Location: Glasgow
  • Telephone: 0333 4443 2717 ref M20461
  • Residential: No
  • Course Title: Querying Microsoft SQL Server
  • Duration: 5 Days
  • Cost: £2426 (Ex VAT)
Enquire Book Now

Contact Us