Querying Data with Transact-SQL (20761C)
This course is designed to introduce 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 teach the remaining skills required to take exam 70-761.
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.
- Working knowledge of relational databases.
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
At course completion
After completing this course, students will be able to:
- Describe key capabilities and components of SQL Server.
- 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.
Module 1: Introduction to Microsoft SQL Server
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
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.
- Introducing T-SQL
- Understanding Sets
- Understanding Predicate Logic
- Understanding the Logical Order of Operations in SELECT statements
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
Module 4: Querying Multiple Tables
This module describes how to write queries that combine data from multiple sources in Microsoft SQL Server.
- Understanding Joins
- Querying with Inner Joins
- Querying with Outer Joins
- Querying with Cross Joins and Self Joins
Module 5: Sorting and Filtering Data
This module describes how to implement sorting and filtering.
- Sorting Data
- Filtering Data with Predicates
- Filtering Data with TOP and OFFSET-FETCH
- Working with Unknown Values
Module 6: Working with SQL Server Data Types
This module introduces the data types SQL Server uses to store data.
- Introducing SQL Server Data Types
- Working with Character Data
- Working with Date and Time Data
Module 7: Using DML to Modify Data
This module describes how to create DML queries, and why you would want to.
- Adding Data to Tables
- Modifying and Removing Data
- Generating automatic column values
Module 8: Using Built-In Functions
This module introduces some of the many built in functions in SQL Server.
- Writing Queries with Built-In Functions
- Using Conversion Functions
- Using Logical Functions
- Using Functions to Work with NULL
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
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
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 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 Views
- Using Inline Table-Valued Functions
- Using Derived Tables
- Using Common Table 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
- Using APPLY
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
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
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
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
Module 17: Implementing Error Handling
This module introduces error handling for T-SQL.
- Implementing T-SQL error handling
- Implementing structured exception handling
Module 18: Implementing Transactions
This module describes how to implement transactions.
- Transactions and the database engines
- Controlling transactions