Course Description
This course introduces students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students requiring the knowledge for other courses in the SQL Server curriculum. Days 4 & 5 are dedicated to teaching the remaining skills required to take the exam 70-761.
Target Student
The main purpose of the course is to give students a solid foundation in the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration, Database Development, and Business Intelligence. As such, the main target student for this course is Database Administrators, Database Developers, and BI professionals.
Pre-requisites
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
- Working knowledge of relational databases.
Performance-Based Objectives
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.
- Write subqueries.
- 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.
Course Content
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.
Lessons
- 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.
Lessons
- Introducing T-SQL
- Understanding Sets
- 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.
Lessons
- 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.
Lessons
- 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 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.
Lessons
- Sorting Data
- 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.
Lessons
- 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.
Lessons
- 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 some of the many built in functions in SQL Server 2016.
Lessons
- 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.
Lessons
- 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.
Lessons
- 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.
Lessons
- Using Views
- 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.
Lessons
- Writing Queries with the UNION operator
- Using EXCEPT and INTERSECT
- Using APPLY
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.
Lessons
- 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
Lessons
- 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.
Lessons
- 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.
Lessons
- 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
- Using Synonyms