Please note this course is only available on MOC on-Demand.
This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server 2014 and 2012. This course is the foundation for all SQL Server-related disciplines; namely, Database Administration, Database Development and Business Intelligence. This course helps people prepare for exam 70-461.
This course is intended for Database Administrators, Database Developers, and Business Intelligence professionals. The course will very likely be well attended by SQL power users who aren’t necessarily database-focused or plan on taking the exam; namely, report writers, business analysts and client application developers.
Prerequisites for Querying Microsoft SQL Server (20461):
- Working knowledge of relational databases.
- Basic knowledge of the Microsoft Windows operating system and its core functionality.
At Completion of this Querying Microsoft SQL Server (20461):
- Write SELECT queries
- Query multiple tables
- Sort and filter data
- Describe the use of data types in SQL Server
- Modify data using Transact-SQL
- Use built-in functions
- Group and aggregate data
- Use subqueries
- Use table expressions
- Use set operators
- Use window ranking, offset and aggregate functions
- Implement pivoting and grouping sets
- Execute stored procedures
- Program with T-SQL
- Implement error handling
- Implement transactions
Course Outline for Querying Microsoft SQL Server (20461):
Module 1: Introduction to Microsoft SQL Server 2014
- The Basic Architecture of SQL Server
- SQL Server Editions and Versions
- Getting Started with SQL Server Management Studio
Lab : Working with SQL Server 2014 Tools
- Working with SQL Server Management Studio
- Creating and Organizing T-SQL scripts
- Using Books Online
- Describe the architecture and editions of SQL Server 2012.
- Work with SQL Server Management Studio.
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 Transact-SQL Querying
- Executing Basic SELECT Statements
- Executing queries which filter data using predicates
- Executing queries which sort data using ORDER BY
- Describe 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
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
- Write simple SELECT Statements
- Eliminate Duplicates Using Distinct
- Use Table and Column Aliases
- Use a Simple CASE Expression
- Write simple SELECT statements.
- Eliminate duplicates using the DISTINCT clause.
- Use column and table aliases.
- Write simple 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
- Writing Queries That Use Inner Joins
- Writing Queries That Use Multiple-Table Inner Join
- Writing Queries That Use Self Joins
- Writing Queries That Use Outer Joins
- Writing Queries That Use Cross Joins
- Describe how multiple tables may be queried in a SELECT statement using joins.
- Write queries that use inner joins.
- Write queries that use outer joins.
- Write queries that use self-joins and cross joins.
Module 5: Sorting and Filtering Data
- Sorting Data
- Filtering Data with a WHERE Clause
- Filtering with the TOP and OFFSET-FETCH Options
- Working with Unknown and Missing Values
Lab : Sorting and Filtering Data
- Writing Queries That Filter Data Using a WHERE Clause
- Writing Queries That Filter Data Using an ORDER BY Clause
- Writing Queries That Filter Data Using the TOP Option
- Writing Queries That Filter Data Using the OFFSET-FETCH Clause
- Filter data with predicates in the WHERE clause.
- Sort data using ORDER BY.
- Filter data in the SELECT clause with TOP.
- Filter data with OFFSET and FETCH.
Module 6: Working with SQL Server 2014 Data Types
- Introducing SQL Server 2014 Data Types
- Working with Character Data
- Working with Date and Time Data
Lab : Working with SQL Server 2014 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 Use Character Functions
- Describe numeric data types, type precedence and type conversions.
- Write queries using character data types.
- Write queries using date and time data types.
Module 7: Using DML to Modify Data
- Inserting Data
- Modifying and Deleting Data
Lab : Using DML to Modify Data
- Inserting Data
- Updating and Deleting Data
- Insert new data into your tables.
- Update and delete existing records in your tables.
Module 8: Using Built-In Functions
This module introduces the use of functions that are built in to SQL Server Denali, and will discuss some common usages including data type conversion, testing for logical results and nullability.
- Writing Queries with Built-In Functions
- Using Conversion Functions
- Using Logical Functions
- Using Functions to Work with NULL
Lab : Using Built-In Functions
- Write queries which use conversion functions
- Write queries which use logical functions
- Write queries which test for nullability
- Write queries with built-in scalar functions.
- Use conversion functions.
- Use logical functions.
- Use functions that work 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
- Write queries which use the GROUP BY clause
- Write queries which use aggregate functions
- Write queries which use distinct aggregate functions
- Write queries which filter groups with the HAVING clause
- Write queries which summarize data using built-in aggregate functions.
- Use the GROUP BY clause to arrange rows into groups.
- Use the HAVING clause to filter out groups based on a search condition.
Module 10: Using Subqueries
- Writing Self-Contained Subqueries
- Writing Correlated Subqueries
- Using the EXISTS Predicate with Subqueries
Lab : Using Subqueries
- Write queries which use self-contained subqueries
- Write queries which use scalar and multi-result subqueries
- Write queries which use correlated subqueries and EXISTS predicate
- Describe the uses of queries which are nested within other queries.
- Write self-contained subqueries which return scalar or multi-valued results.
- Write correlated subqueries which return scalar or multi-valued results.
- Use the EXISTS predicate to efficiently check for the existence of rows in a subquery.
Module 11: Using Table Expressions
- Using Derived Tables
- Using Common Table Expressions
- Using Views
- Using Inline Table-Valued Functions
Lab : Using Table Expressions
- Write Queries Which Use Views
- Write Queries Which Use Derived Tables
- Write Queries Which Use Common Table Expressions
- Write Queries Which Use Inline Table-Valued Functions
- Write queries which use derived tables.
- Write queries which use common table expressions.
- Create simple views and write queries against them.
- Create simple inline table-valued functions and write queries against them.
Module 12: Using Set Operators
- Writing Queries with the UNION Operator
- Using EXCEPT and INTERSECT
- Using APPLY
Lab : Using Set Operators
- Write queries which use UNION set operators and UNION ALL multi-set operators
- Write queries which use CROSS APPLY and OUTER APPLY operators
- Write queries which use EXCEPT and INTERSECT operators
- Write queries which combine data using the UNION operator
- Write queries which compare sets using the INTERSECT and EXCEPT operators
- Write queries which manipulate rows in a table by using APPLY with the results of a derived table or function
Module 13: Using Window Ranking, Offset, and Aggregate Functions
- Creating Windows with OVER
- Exploring Window Functions
Lab : Using Window Ranking, Offset and Aggregate Functions
- Write queries which use ranking functions
- Write queries which use offset functions
- Write queries which use window aggregate functions
- Describe the benefits to using window functions.
- Restrict window functions to rows defined in an OVER clause, including partitions and frames.
- Write queries which use window functions to operate on a window of rows and return ranking, aggregation and offset comparison results.
Module 14: Pivoting and Grouping Sets
- Writing Queries with PIVOT and UNPIVOT
- Working with Grouping Sets
Lab : Pivoting and Grouping Sets
- Write queries which use the PIVOT operator
- Write queries which use the UNPIVOT operator
- Write queries which use the GROUPING SETS subclause
- Write queries which pivot and unpivot result sets.
- Write queries which specify multiple groupings with grouping sets.
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
- Use the EXECUTE statement to invoke stored procedures
- Pass parameters to stored procedures
- Execute system stored procedures
- Return results by executing stored procedures.
- Pass parameters to procedures.
- Create simple stored procedures which encapsulate a SELECT statement.
- Construct and execute dynamic SQL with EXEC and sp_executesql.
Module 16: Programming with T-SQL
- T-SQL Programming Elements
- Controlling Program Flow
Lab : Programming with T-SQL
- Declaring Variables and Delimiting Batches
- Using Control-of-Flow Elements
- Generating Dynamic SQL
- Using Synonyms
- Describe the language elements of T-SQL used for simple programming tasks.
- Describe batches and how they are handled by SQL Server.
- Declare and assign variables and synonyms.
- Use IF and WHILE blocks to control program flow.
Module 17: Implementing Error Handling
This module introduces the use of error handlers in T-SQL code. It will introduce the difference between compile errors and run-time errors, and will cover how errors affect batches. The module will also cover how to control error handling using TRY/CATCH blocks, the use of the ERROR class of functions, and the use of the new THROW statement.
- Using TRY / CATCH Blocks
- Working with Error Information
Lab : Implementing Error Handling
- Redirecting Errors with TRY / CATCH
- Using THROW to Pass an Error Message Back to a Client
- Describe SQL Server's behavior when errors occur in T-SQL code.
- Implement structured exception handling in T-SQL.
- Return information about errors from system objects.
- Raise user-defined errors and pass system errors in T-SQL code.
Module 18: Implementing Transactions
- Transactions and the Database Engine
- Controlling Transactions
- Isolation Levels
Lab : Implementing Transactions
- Controlling transactions with BEGIN, COMMIT, and ROLLBACK
- Adding error handling to a CATCH block
- 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 statements.
- Use SET XACT_ABORT to define SQL Server's handling of transactions outside TRY / CATCH blocks.
- Describe the effects of isolation levels on transactions.