Querying Data with Transact-SQL (Course 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.

Description

Objectives

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.

Outline

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.

Lessons:

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

Lab : Working with SQL Server 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.

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
  • Write Queries that filter data using the OFFSET-FETCH clause

 

Module 6: Working with SQL Server Data Types
This module introduces the data types SQL Server uses to store data.

Lessons:

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

Lab : Working with SQL Server 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:

  • Adding Data to Tables
  • Modifying and Removing Data
  • Generating automatic column values

Lab : Using DML to Modify Data

  • Inserting Records with DML
  • Updating and Deleting Records Using DML

 

Module 8: Using Built-In Functions
This module introduces some of the many built in functions in SQL Server.

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 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 Use Inline Table-Valued Expressions (TVFs)

 

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

 

Module 17: Implementing Error Handling
This module introduces error handling for T-SQL.

Lessons:

  • Implementing T-SQL error handling
  • Implementing structured exception handling

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 describes how to implement transactions.

Lessons:

  • Transactions and the database engines
  • Controlling transactions

Lab : Implementing Transactions

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

Audience

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.

Duration

5 Days
X