Querying Data with Transact-SQL - 20761 Course Outline
The main purpose of this 5-day, instructor-led course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration, Database Development and Business Intelligence. As such, the primary target audience for this course is: Database Administrators, Database Developers and BI professionals. This course is also the best instructor-led class to attend if you are preparing to take exam 70-761.
*** NOTE: This class also available in On-Demand, eLearning Format ***
Too busy at work to miss 5 days out of the office to take this class? Consider the MOC On-Demand version of this course. Watch videos developed by Microsoft, take the same hands-on labs, access an online expert 24/7, and study at on your own time, at your own pace. For details on this alternative format, go to
MOC On-Demand 20761: Querying Data with Transact SQL
The main purpose of the course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration, Database Development and Business Intelligence. As such, the primary target audience for this course is: Database Administrators, Database Developers and BI professionals.
If certification is not your goal and you simply need the first three days so you can acquire the knowledge for other courses in the SQL Server curriculum, please see:
Querying with Transact-SQL Essentials
Basic knowledge of the Microsoft Windows operating system and its core functionality.
Working knowledge of relational databases.
At course completion
After completing this course, students will be able to:
Describe key capabilities and components of SQL Server 2016.
Describe T-SQL, sets, and predicate logic.
Write a single table SELECT statement.
Write a multi-table SELECT statement.
Write SELECT statements with filtering and sorting.
Describe how SQL Server uses data types.
Write DML statements.
Write queries that use built-in functions.
Write queries that aggregate data.
Create and implement views and table-valued functions.
Use set operators to combine query results.
Write queries that use window ranking, offset, and aggregate functions.
Transform data by implementing pivot, unpivot, rollup and cube.
Create and implement stored procedures.
Add programming constructs such as variables, conditions, and loops to T-SQL code.
Module 1: Introduction to Microsoft SQL Server 2016
This module introduces SQL Server, the versions of SQL Server, including cloud versions, and how to connect to SQL Server using SQL Server Management Studio.
The Basic Architecture of SQL Server
SQL Server Editions and Versions
Getting Started with SQL Server Management Studio
Lab : Working with SQL Server 2016 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 describes the elements of T-SQL and their role in writing queries. Describe the use of sets in SQL Server. Describe the use of predicate logic in SQL Server. Describe the logical order of operations in SELECT statements.
Understanding Predicate Logic
Understanding the Logical Order of Operations in SELECT statements
Lab : Introduction to T-SQL Querying
Executing Basic SELECT Statements
Executing Queries that Filter Data using Predicates
Executing Queries That 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
Writing Simple SELECT Statements
Eliminating Duplicates Using DISTINCT
Using Column and Table Aliases
Using a Simple CASE Expression
Module 4: Querying Multiple Tables
This module describes how to write queries that combine data from multiple sources in Microsoft SQL Server 2016.
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 Joins
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 describes how to implement sorting and filtering.
Filtering Data with Predicates
Filtering Data with TOP and OFFSET-FETCH
Working with Unknown Values
Lab : Sorting and Filtering Data
Writing Queries that Filter Data using a WHERE Clause
Writing Queries that Sort Data Using an ORDER BY Clause
Writing Queries that Filter Data Using the TOP Option
Module 6: Working with SQL Server 2016 Data Types
This module introduces the data types SQL Server uses to store data.
Introducing SQL Server 2016 Data Types
Working with Character Data
Working with Date and Time Data
Lab : Working with SQL Server 2016 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 Return Character Functions
Module 7: Using DML to Modify Data
This module describes how to create DML queries, and why you would want to.
Modifying and Deleting Data
Lab : Using DML to Modify Data
Updating and Deleting Data
Module 8: Using Built-In Functions
This module introduces some of the many built in functions in SQL Server 2016.
Writing Queries with Built-In Functions
Using Conversion Functions
Using Logical Functions
Using Functions to Work with NULL
Lab : Using Built-In Functions
Writing Queries That Use Conversion Functions
Writing Queries that use Logical Functions
Writing Queries that Test for Nullability
Module 9: Grouping and Aggregating Data
This module describes how to use aggregate functions.
Using Aggregate Functions
Using the GROUP BY Clause
Filtering Groups with HAVING
Lab : Grouping and Aggregating Data
Writing Queries That Use the GROUP BY Clause
Writing Queries that Use Aggregate Functions
Writing Queries that Use Distinct Aggregate Functions
Writing Queries that Filter Groups with the HAVING Clause
Module 10: Using Subqueries
This module describes several types of subquery and how and when to use them.
Writing Self-Contained Subqueries
Writing Correlated Subqueries
Using the EXISTS Predicate with Subqueries
Lab : Using Subqueries
Writing Queries That Use Self-Contained Subqueries
Writing Queries That Use Scalar and Multi-Result Subqueries
Writing Queries That Use Correlated Subqueries and an EXISTS Clause
Module 11: Using Table Expressions
Previously in this course, you learned about using subqueries as an expression that returned results to an outer calling query. Like subqueries, table expressions are query expressions, but table expressions extend this idea by allowing you to name them and to work with their results as you would work with data in any valid relational table. Microsoft SQL Server 2016 supports four types of table expressions: derived tables, common table expression (CTEs), views, and inline table-valued functions (TVFs). In this module, you will learn to work with these forms of table expressions and learn how to use them to help create a modular approach to writing queries.
Using Inline Table-Valued Functions
Using Derived Tables
Using Common Table Expressions
Lab : Using Table Expressions
Writing Queries That Use Views
Writing Queries That Use Derived Tables
Writing Queries That Use Common Table Expressions (CTEs)
Writing Queries That Sue Inline Table-Valued Expressions
Module 12: Using Set Operators
This module introduces how to use the set operators UNION, INTERSECT, and EXCEPT to compare rows between two input sets.
Writing Queries with the UNION operator
Using EXCEPT and INTERSECT
Lab : Using Set Operators
Writing Queries That Use UNION Set Operators and UNION ALL
Writing Queries That Use CROSS APPLY and OUTER APPLY Operators
Writing Queries That Use the EXCEPT and INTERSECT Operators
Module 13: Using Windows Ranking, Offset, and Aggregate Functions
This module describes the benefits to using window functions. Restrict window functions to rows defined in an OVER clause, including partitions and frames. Write queries that use window functions to operate on a window of rows and return ranking, aggregation, and offset comparison results.
Creating Windows with OVER
Exploring Window Functions
Lab : Using Windows Ranking, Offset, and Aggregate Functions
Writing Queries that use Ranking Functions
Writing Queries that use Offset Functions
Writing Queries that use Window Aggregate Functions
Module 14: Pivoting and Grouping Sets
This module describes write queries that pivot and unpivot result sets. Write queries that specify multiple groupings with grouping sets
Writing Queries with PIVOT and UNPIVOT
Working with Grouping Sets
Lab : Pivoting and Grouping Sets
Writing Queries that use the PIVOT Operator
Writing Queries that use the UNPIVOT Operator
Writing Queries that use the GROUPING SETS CUBE and ROLLUP Subclauses
Module 15: Executing Stored Procedures
This module describes how to return results by executing stored procedures. Pass parameters to procedures. Create simple stored procedures that encapsulate a SELECT statement. Construct and execute dynamic SQL with EXEC and sp_executesql.
Querying Data with Stored Procedures
Passing Parameters to Stored procedures
Creating Simple Stored Procedures
Working with Dynamic SQL
Lab : Executing Stored Procedures
Using the EXECUTE statement to Invoke Stored Procedures
Passing Parameters to Stored procedures
Executing System Stored Procedures
Module 16: Programming with T-SQL
This module describes how to enhance your T-SQL code with programming elements.
T-SQL Programming Elements
Controlling Program Flow
Lab : Programming with T-SQL
Declaring Variables and Delimiting Batches
Using Control-Of-Flow Elements
Using Variables in a Dynamic SQL Statement
Module 17: Implementing Error Handling
This module describes how to implement T-SQL error handling and structured exception handling.
Implementing T-SQL Error Handling
Implementing Structured Exception Handling
Lab: Implementing Error Handling
Redirecting Errors with TRY/CATCH
Using THROW to Pass and Error Message Back to a Client
Module 18: Implementing Transactions
This module describes transactions and the database engine as well as controlling transactions.
Transactions and the Database Engine
Lab: Implementing Transactions
View outline in Word