Module 1: Introduction to Microsoft SQL Server 2014
This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used to query, documentation sources, and the logical structure of databases.
Lessons
- 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
Module 2: Introduction to T-SQL Querying
This module introduces Transact SQL as the primary querying language of SQL Server. It discusses the basic structure of T-SQL queries, the logical flow of a SELECT statement, and introduces concepts such as predicates and set-based operations.
Lessons
- Introducing T-SQL
- Understanding Sets
- Understanding Predicate Logic
- Understanding the Logical Order of Operations in SELECT statements
Lab : Introduction to Transact-SQL Querying
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
- Eliminate Duplicates with DISTINCT
- Using Column and Table Aliases
- Write Simple CASE Expressions
Lab : Writing Basic SELECT Statements
Module 4: Querying Multiple Tables
This 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.
Lessons
- Understanding Joins
- Querying with Inner Joins
- Querying with Outer Joins
- Querying with Cross Joins and Self Joins
Lab : Querying Multiple Tables
Module 5: Sorting and Filtering Data
This 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.
Lessons
- Sorting Data
- Filtering Data with Predicates
- Filtering with the TOP and OFFSET-FETCH
- Working with Unknown Values
Lab : Sorting and Filtering Data
Module 6: Working with SQL Server 2014 Data Types
This 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.
Lessons
- Introducing SQL Server 2014 Data Types
- Working with Character Data
- Working with Date and Time Data
Lab : Working with SQL Server 2014 Data Types
Module 7: Using DML to Modify Data
This module describes the use of Transact-SQL Data Manipulation Language to perform inserts, updates, and deletes to your data.
Lessons
- Inserting Data
- Modifying and Deleting Data
Lab : Using DML to Modify Data
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.
Lessons
- Writing Queries with Built-In Functions
- Using Conversion Functions
- Using Logical Functions
- Using Functions to Work with NULL
Lab : Using Built-In Functions
Module 9: Grouping and Aggregating Data
This 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.
Lessons
- Using Aggregate Functions
- Using the GROUP BY Clause
- Filtering Groups with HAVING
Lab : Grouping and Aggregating Data
Module 10: Using Subqueries
This 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.
Lessons
- Writing Self-Contained Subqueries
- Writing Correlated Subqueries
- Using the EXISTS Predicate with Subqueries
Lab : Using Subqueries
Module 11: Using Table Expressions
This module introduces T-SQL expressions which return a valid relational table, typically for further use in the query. The module discusses views, derived tables, common table expressions and inline table-valued functions.
Lessons
- Using Views
- Using Inline Table-Valued Functions
- Using Derived Tables
- Using Common Table Expressions
Lab : Using Table Expressions
Module 12: Using Set Operators
This module introduces 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
Module 13: Using Window Ranking, Offset, and Aggregate Functions
This module introduces window functions including ranking, aggregate and offset functions. Much of this functionality is new to SQL Server 2012. It will cover the use of T-SQL functions such as ROW_NUMBER, RANK, DENSE_RANK, NTILE, LAG, LEAD, FIRST_VALUE and LAST_VALUE to perform calculations against a set, or window, of rows.
Lessons
- Creating Windows with OVER
- Exploring Window Functions
Lab : Using Window Ranking, Offset and Aggregate Functions
Module 14: Pivoting and Grouping Sets
This module discusses techniques for pivoting data in T-SQL as well to introduce the fundamentals of the GROUPING SETS clause. It will also cover the use of GROUP BY ROLLUP and GROUP BY CUBE syntax in SQL Server.
Lessons
- Writing Queries with PIVOT and UNPIVOT
- Working with Grouping Sets
Lab : Pivoting and Grouping Sets
Module 15: Querying data with Stored Procedures
This module introduces the use of existing stored procedures in a T-SQL querying environment. It discusses the use of EXECUTE, how to pass input and output parameters to a procedure, and how to invoke system stored procedures.
Lessons
- Writing Queries with PIVOT and UNPIVOT
- Passing Parameters to Stored Procedures
- Creating Simple Stored Procedures
- Working with Dynamic SQL
Lab : Executing Stored Procedures
Module 16: Programming with T-SQL
This module provides a basic introduction to T-SQL programming concepts and objects. It discusses batches, variables, control of flow elements such as loops and conditionals, how to create and execute dynamic SQL statements, and how to use synonyms.
Lessons
- T-SQL Programming Elements
- Controlling Program Flow
Lab : Programming with T-SQL
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.
Lessons
- Using TRY / CATCH Blocks
- Working with Error Information
Lab : Implementing Error Handling
Module 18: Implementing Transactions
This module introduces the concepts of transaction management in SQL Server. It will provide a high-level overview of transaction properties, cover the basics of marking transactions with BEGIN, COMMIT and ROLLBACK.
Lessons
- Transactions and the Database Engine
- Controlling Transactions
Lab : Implementing Transactions
Module 19: Appendix 1: Improving Query Performance
This module presents several key guidelines for writing well-performing queries, as well as ways to monitor the execution of your queries and their impact on Microsoft SQL ServerLessons
- Factors in Query Performance
- Displaying Query Performance Data
Lab : Improving Query Performance
Module 20: Appendix 2:
Querying SQL Server MetadataSQL Server provides access to structured metadata by using a variety of mechanisms, such as system catalog views, system functions, dynamic management objects, and system stored procedures. In this module, you will learn how to write queries to return system metadata using these mechanisms.
Lessons
- Querying System Catalog Views and Functions
- Executing System Stored Procedures
- Querying Dynamic Management Objects
Lab : Querying SQL Server Metadata