DescriptionThis 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.
Module 1: Introduction to Microsoft SQL Server 2016This 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
Lab: Working with SQL Server 2016 ToolsAfter completing this module, you will be able to:
- Describe the architecture and editions of SQL Server 2012.
- Work with SQL Server Management Studio.
Module 2: Introduction to T-SQL QueryingThis module introduces the elements of T-SQL and their role in writing queries, describes the use of sets in SQL Server, describes the use of predicate logic in SQL Server, and describes 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
Lab: Introduction to Transact-SQL QueryingAfter completing this module, you will be able to:
- 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 QueriesThis 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
Lab: Writing Basic SELECT StatementsAfter completing this module, you will be able to:
- Write simple SELECT statements.
- Eliminate duplicates using the DISTINCT clause.
- Use column and table aliases.
- Write simple CASE expressions.
Module 4: Querying Multiple TablesThis module explains how to write queries which combine data from multiple sources in SQL Server. The module introduces the use of JOINs in T-SQL queries as a mechanism for retrieving data from multiple tables.
- Understanding Joins
- Querying with Inner Joins
- Querying with Outer Joins
- Querying with Cross Joins and Self Joins
Lab: Querying Multiple TablesAfter completing this module, you will be able to:
- 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 DataThis module explains how to enhance queries to limit the rows they return, and to control the order in which the rows are displayed. The module also discusses how to resolve missing and unknown results.
- Sorting Data
- Filtering Data with Predicates
- Filtering with the TOP and OFFSET-FETCH Options
- Working with Unknown Values
Lab: Sorting and Filtering DataAfter completing this module, you will be able to:
- 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 2016 Data TypesThis module explains the data types SQL Server uses to store data. It introduces the many types of numeric and special-use data types. It also explains conversions between data types, and the importance of type precedence.
- Introducing SQL Server 2016 Data Types
- Working with Character Data
- Working with Date and Time Data
Lab: Working with SQL Server 2016 Data TypesAfter completing this module, you will be able to:
- 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 DataThis module describes the use of Transact-SQL Data Manipulation Language to perform inserts, updates, and deletes to your data.
- Inserting Data
- Modifying and Deleting Data
Lab: Using DML to Modify DataAfter completing this module, you will be able to:
- Insert new data into your tables.
- Update and delete existing records in your tables.
Module 8: Using Built-In FunctionsThis 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 FunctionsAfter completing this module, you will be able to:
- Write queries with built-in scalar functions.
- Use conversion functions.
- Use logical functions.
- Use functions that work with NULL.
Module 9: Grouping and Aggregating DataThis module introduces methods for grouping data within a query, aggregating the grouped data and filtering groups with HAVING. The module is designed to help the student grasp why a SELECT clause has restrictions placed upon column naming in the GROUP BY clause as well as which columns may be listed in the SELECT clause.
- Using Aggregate Functions
- Using the GROUP BY Clause
- Filtering Groups with HAVING
Lab: Grouping and Aggregating DataAfter completing this module, you will be able to:
- 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 SubqueriesThis module will introduce the use of subqueries in various parts of a SELECT statement. It will include the use of scalar and multi-result subqueries, and the use of the IN and EXISTS operators.
- Writing Self-Contained Subqueries
- Writing Correlated Subqueries
- Using the EXISTS Predicate with Subqueries
Lab: Using SubqueriesAfter completing this module, you will be able to:
- 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 Set OperatorsThis module introduces 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
Lab: Using SET OperatorsAfter completing this module, you will be able to:
- Write queries using UNION, EXCEPT, and INTERSECT operators.
- Use the APPLY operator.
Module 12: Using Set OperatorsThis 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
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
- 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 FunctionsThis 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
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
- 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 SetsThis 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
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
- 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 ProceduresThis 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
Lab: Executing Stored Procedures
- Using the EXECUTE statement to Invoke Stored Procedures
- Passing Parameters to Stored procedures
- Executing System Stored Procedures
- 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-SQLThis module describes how to enhance your T-SQL code with programming elements.
- 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
- 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 HandlingThis module introduces error handling for T-SQL.
- 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
- Implement T-SQL error handling.
- Implement structured exception handling.
Module 18: Implementing TransactionsThis module describes how to implement transactions.
- Transactions and the database engines
- Controlling transactions
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 (TCL) statements.
- Use SET XACT_ABORT to define SQL Servers handling of transactions outside TRY/CATCH blocks.
This course isn't currently on the calendar. Want to schedule it?
Need to request this course on a Different Day?
LANTEC is very responsive to local client needs and unique or custom class demands. If you require a delivery date option for a class title on our schedule, please submit your specific request for immediate consideration. We can often accommodate countless additional courses NOT available on our public schedules, please inquire for personal assistance.