20761: Querying Data with Transact-SQL

20761: Querying Data with Transact-SQL

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.

Prerequisites

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

Duration

5 days.

Course Objectives

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.

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.

Course Content

Module 1: Introduction to Microsoft SQL Server
The Basic Architecture of SQL Server
SQL Server Editions and Versions
Getting Started with SQL Server Management Studio
Lab : Working with SQL Server Tools
After completing this module, you will be able to:
• Describe relational databases and Transact-SQL queries
• Describe the on-premise and cloud-based editions and versions of SQL Server
• Describe how to use SQL Server Management Studio (SSMS) to connect to an instance of SQL Server, explore the databases contained in the instance, and work with script files that contain T-SQL queries

Module 2: Introduction to T-SQL Querying
Introducing T-SQL
Understanding Sets
Understanding Predicate Logic
Understanding the Logical Order of Operations in SELECT statements
Lab : Introduction to T-SQL Querying
After completing this module, you will be able to:
• Describe the role of T-SQL in writing SELECT statements
• Describe the elements of the T-SQL language and which elements will be useful in writing queries
• Describe the concepts of the set theory, one of the mathematical underpinnings of relational databases, and to help you apply it to how you think about querying SQL Server
• Describe predicate logic and examine its application to querying SQL Server
• Explain the elements of a SELECT statement, delineate the order in which the elements are evaluated, and then apply this understanding to a practical approach to writing queries

Module 3: Writing SELECT Queries
Writing Simple SELECT Statements
Eliminating Duplicates with DISTINCT
Using Column and Table Aliases
Writing Simple CASE Expressions
Lab : Writing Basic SELECT Statements
After completing this module, you will be able to:
• Describe the structure and format of the SELECT statement, as well as enhancements that will add functionality and readability to your queries
• Describe how to eliminate duplicates using the DISTINCT clause
• Describe the use of column and table aliases
• Understand and use CASE expressions

Module 4: Querying Multiple Tables
Understanding Joins
Querying with Inner Joins
Querying with Outer Joins
Querying with Cross Joins and Self Joins
Lab : Querying Multiple Tables
After completing this module, you will be able to:
• Explain the fundamentals of joins in SQL Server
• Write inner join queries
• Write queries that use outer joins
• Use additional join types

Module 5: Sorting and Filtering Data
Sorting Data
Filtering Data with Predicates
Filtering Data with TOP and OFFSET-FETCH
Working with Unknown Values
Lab : Sorting and Filtering Data
After completing this module, you will be able to:
• Explain how to add an ORDER BY clause to your queries to control the order of rows displayed in your query's output
• Explain how to construct WHERE clauses to filter out rows that do not match the predicate
• Explain how to limit ranges of rows in the SELECT clause using a TOP option
• Explain how to limit ranges of rows using the OFFSET-FETCH option of an ORDER BY clause
• Explain how three-valued logic accounts for unknown and missing values, how SQL Server uses NULL to mark missing values, and how to test for NULL in your queries

Module 6: Working with SQL Server Data Types
Introducing SQL Server Data Types
Working with Character Data
Working with Date and Time Data
Lab : Working with SQL Server Data Types
After completing this module, you will be able to:
• Explore many of the data types SQL Server uses to store data and how data types are converted between types
• Explain the SQL Server character-based data types, how character comparisons work, and some common functions you may find useful in your queries
• Describe data types that are used to store temporal data, how to enter dates and times so they will be properly parsed by SQL Server, and how to manipulate dates and times with built-in functions

Module 7: Using DML to Modify Data
Adding Data to Tables
Modifying and Removing Data
Generating automatic column values
Lab : Using DML to Modify Data
After completing this module, you will be able to:
• Use INSERT and SELECT INTO statements
• Use UPDATE, MERGE, DELETE, and TRUNCATE

Module 8: Using Built-In Functions
Writing Queries with Built-In Functions
Using Conversion Functions
Using Logical Functions
Using Functions to Work with NULL
Lab : Using Built-In Functions
After completing this module, you will be able to:
• Describe the types of functions provided by SQL Server, and then focus on working with scalar functions
• Explain how to explicitly convert data between types using several SQL Server functions
• Describe how to use logical functions that evaluate an expression and return a scalar result
• Describe additional functions for working with NULL

Module 9: Grouping and Aggregating Data
Using Aggregate Functions
Using the GROUP BY Clause
Filtering Groups with HAVING
Lab : Grouping and Aggregating Data
After completing this module, you will be able to:
• Describe the built-in aggregate function in SQL Server and write queries using it
• Write queries that separate rows using the GROUP BY clause
• Write queries that use the HAVING clause to filter groups

Module 10: Using Subqueries
Writing Self-Contained Subqueries
Writing Correlated Subqueries
Using the EXISTS Predicate with Subqueries
Lab : Using Subqueries
After completing this module, you will be able to:
• Describe where subqueries may be used in a SELECT statement
• Write queries that use correlated subqueries in a SELECT statement
• Write queries that use EXISTS predicates in a WHERE clause to test for the existence of qualifying rows
• Use the EXISTS predicate to efficiently check for the existence of rows in a subquery

Module 11: Using Table Expressions
Using Views
Using Inline Table-Valued Functions
Using Derived Tables
Using Common Table Expressions
Lab : Using Table Expressions
After completing this module, you will be able to:
• Write queries that return results from views
• Use the CREATE FUNCTION statement to create simple inline TVFs
• Write queries that create and retrieve results from derived tables
• Write queries that create CTEs and return results from the table expression

Module 12: Using Set Operators
Writing Queries with the UNION operator
Using EXCEPT and INTERSECT
Using APPLY
Lab : Using Set Operators
After completing this module, students will be able to:
• Write queries that use UNION to combine input sets
• Write queries that use UNION ALL to combine input sets
• Write queries that use the EXCEPT operator to return only rows in one set but not another
• Write queries that use the INTERSECT operator to return only rows that are present in both sets
• Write queries using the CROSS APPLY operator
• Write queries using the OUTER APPLY operator

Module 13: Using Windows Ranking, Offset, and Aggregate Functions
Creating Windows with OVER
Exploring Window Functions
Lab : Using Windows Ranking, Offset, and Aggregate Functions
After completing this module, students will be able to:
• Describe the T-SQL components used to define windows, and the relationships between them
• Write queries that use the OVER clause, with partitioning, ordering, and framing to define windows
• Write queries that use window aggregate functions
• Write queries that use window ranking functions
• Write queries that use window offset functions

Module 14: Pivoting and Grouping Sets
Writing Queries with PIVOT and UNPIVOT
Working with Grouping Sets
Lab : Pivoting and Grouping Sets
After completing this module, students will be able to:
• Describe how pivoting data can be used in T-SQL queries
• Write queries that pivot data from rows to columns using the PIVOT operator
• Write queries that unpivot data from columns back to rows using the UNPIVOT operator
• Write queries using the GROUPING SETS subclause
• Write queries that use ROLLUP AND CUBE
• Write queries that use the GROUPING_ID function

Module 15: Executing Stored Procedures
Querying Data with Stored Procedures
Passing Parameters to Stored procedures
Creating Simple Stored Procedures
Working with Dynamic SQL
Lab : Executing Stored Procedures
After completing this module, students will be able to:
• Describe stored procedures and their use
• Write T-SQL statements that execute stored procedures to return data
• Write EXECUTE statements that pass input parameters to stored procedures
• Write T-SQL batches that prepare output parameters and execute stored procedures
• Use the CREATE PROCEDURE statement to write a stored procedure
• Create a stored procedure that accepts input parameters
• Describe how T-SQL can be dynamically constructed
• Write queries that use dynamic SQL

Module 16: Programming with T-SQL
T-SQL Programming Elements
Controlling Program Flow
Lab : Programming with T-SQL
After completing this module, students will be able to:
• Describe how Microsoft SQL Server treats collections of statements as batches
• Create and submit batches of T-SQL code for execution by SQL Server
• Describe how SQL Server stores temporary objects as variables
• Write code that declares and assigns variables
• Create and invoke synonyms
• Describe the control-of-flow elements in T-SQL
• Write T-SQL code using IF...ELSE blocks
• Write T-SQL code that uses WHILE

Module 17: Implementing Error Handling
Implementing T-SQL error handling
Implementing structured exception handling
Lab : Implementing Error Handling
After completing this module, students will be able to:
• Implement T-SQL error handling
• Implement structured exception handling

Module 18: Implementing Transactions
Transactions and the database engines
Controlling transactions
Lab : Implementing Transactions
After completing this module, students will be able to:
• Describe transactions and the differences between batches and transactions
• Describe batches and how they are handled by SQL Server
• Create and manage transactions with transaction control language (TCL) statements
• Use SET XACT_ABORT to define SQL Servers handling of transactions outside TRY/CATCH blocks

Virtual Courses

ALL of our courses can be delivered virtually. And our Bath public schedule of courses are now available as live virtual sessions, using the popular Zoom Virtual Classroom and remote labs. Delegates can test their access at: www.zoom.us/test

On-Site Courses

Can't attend one of our public classes? Booking for multiple people?

All our courses are available on your site! Delivered for your staff, at your premises.

Contact us to find out more...