Queryring Microsoft SQL Server

OVERVIEW:

This Microsoft training course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server. This course is the foundation for all SQL Server-related disciplines; namely, Database Administration, Database Development. This Microsoft Official Course (MOC) helps people prepare for Exam 70-461.

Course will be STEP-BY-STEP HANDS-ON INTERACTIVE with GUI and SQL Scripts. At the end of the module there will be exercises, assignments and quiz on the related topics

Course is applicable to SQL Server 2016 / 2014 / 2012 / 2008 R2 / 2008

Target Audience:

This Microsoft training 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.

Pre-requisites:

Before attending this Microsoft training course, students must have:
Working knowledge of relational databases.

Requirements at Client Set up

Hardware

  • 1 System Physical /Virtual
  • Quad Core 2.0GHz or More , 8 GB/16 GB RAM , 100 GB free Disk Space

Software

  • Windows Client Windows 7 with SP1, Windows 8 , 8.1,10

OR

  • Server :  Windows 2012 /Windows 2012 /Windows 2008 R2,  Windows 2008  Enterprise / Standard
  • SQL Server Enterprise / Developer Edition – Media or Installed product on SQL Server  – 2 Instances

Other

  • Microsoft Office 2003/2007/2010 – PowerPoint, Word, Excel on one of the SQL Servers
  • SMTP Server for Database Mail
  • Projector with clicker , compatible ports to Laptop
  • White Board
  • Marker
  • Duster

 

AT COURSE COMPLETION:

After completing this Microsoft training course, students will be able to:

  • Write SELECT queries
  • Query multiple tables
  • Use built-in functions
  • Use sub-queries
  • Execute stored procedures
  • Use set operators
  • Implement error handling
  • Implement transactions
  • Use table expressions
  • Sort and filter data
  • Use window ranking, offset and aggregate functions
  • Query SQL Server metadata
  • Program with T-SQL
  • Improve query performance

TRAINING OUTLINE:

MODULE 1: INTRODUCTION TO MICROSOFT SQL SERVER (2:00 HRS)

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

Introducing Microsoft SQL Server
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 On-line

After completing this module, students will be able to:

Describe the architecture and editions of SQL Server

Work with SQL Server Management Studio

MODULE 2: INTRODUCTION TO T-SQL QUERYING (2:00 HRS)

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
Executing Basic SELECT Statements
Executing queries which filter data using predicates
Executing queries which sort data using ORDER BY

 After completing this module, students 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 QUERIES (2:00 HRS)

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
Write simple SELECT Statements
Eliminate Duplicates Using Distinct
Use Table and Column Aliases
Use a Simple CASE Expression

After completing this module, students 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 TABLES (3;00 HRS)

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
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 Loins
Writing Queries That Use Cross Join

After completing this module, students 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 DATA (3:00 HRS)

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 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

After completing this module, students 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 DATA TYPES (2:00 HRS)

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 2012 Data Types
Working with Character Data
Working with Date and Time Data

Lab:

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

After completing this module, students 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 BUILT-IN FUNCTIONS (2:00 HRS)

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
Write queries which use conversion functions
Write queries which use logical functions
Write queries which test for nullability

After completing this module, students will be able to:

Write queries with built-in scalar functions
Use conversion functions
Use logical functions
Use functions that work with NULL

MODULE 8: GROUPING AND AGGREGATING DATA (3:00 HRS)

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
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

After completing this module, students 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 9: USING SUB-QUERIES (2;00 HRS)

This module will introduce the use of sub-queries 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
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

After completing this module, students 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 10: USING TABLE EXPRESSIONS (2:00 HRS)

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 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

After completing this module, students will be able to:

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 11: USING SET OPERATORS (2:00 HRS)

This module introduces operations involving multiple sets of data. It will cover the use of the UNION, UNION ALL, APPLY, CROSS APPLY, OUTER APPLY operators as well as the EXCEPT and INTERSECTS operators.

Lessons:

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

After completing this module, students will be able to:

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 12: USING WINDOW RANKING, OFFSET AND AGGREGATE FUNCTIONS (3:00 HRS)

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
Write queries which use ranking functions
Write queries which use offset functions
Write queries which use window aggregate functions

After completing this module, students will be able to:

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 13: PIVOTING AND GROUPING SETS (2:00 HRS)

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 2012.

Lessons:

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 sub clause

After completing this module, students will be able to:

Write queries which pivot and unpivot result sets
Write queries which specify multiple groupings with grouping sets

MODULE 14: QUERYING SQL SERVER METADATA (2:00 HRS)

This module introduces the use of SQL Server system objects in T-SQL queries. It will cover the use of system catalog views, system stored procedures, system functions, and dynamic management objects.

Lessons

Querying System Catalog Views and Functions
Executing System Stored Procedures
Querying Dynamic Management Objects

Lab:

Querying SQL Server Metadata
Querying System Catalog Views
Querying System Functions
Querying System Dynamic Management Views

After completing this module, students will be able to:

Write queries that retrieve system metadata using system views and functions
Execute system stored procedures to return system information
Write queries that retrieve system metadata and state information using system dynamic management views and functions

MODULE 15: EXECUTING STORED PROCEDURES (2:00 HRS)

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:

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

After completing this module, students will be able to:

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 (2:00 HRS)

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
Declaring Variables and Delimiting Batches
Using Control-of-Flow Elements
Generating Dynamic SQL
Using Synonyms

After completing this module, students will be able to:
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 (2:00 HRS)

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
Redirecting Errors with TRY / CATCH
Using THROW to Pass an Error Message Back to a Client

After completing this module, students will be able to:

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 (3:00 HRS)

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
Controlling transactions with BEGIN, COMMIT, and ROLLBACK
Adding error handling to a CATCH block

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 statements
Use SET XACT_ABORT to define SQL Server’s handling of transactions outside TRY / CATCH blocks

MODULE 19: IMPROVING QUERY PERFORMANCE (3:00 HRS)

This module introduces the concepts of system resource usage and the performance impact of querying SQL Server 2012. It will cover, at a high level, the use of indexes in SQL Server, the use of execution plans in SQL Server Management Studio, and the use of SET options to view system resource usage when executing queries. It will also compare set-based operations with cursor-based operations

Lessons:
Factors in Query Performance
Displaying Query Performance Data

Lab:

Improving Query Performance
Viewing Query Execution Plans
Viewing Index Usage and Using SET STATISTICS Statements

After completing this module, students will be able to:

Describe components of well-performing queries.
Describe the role of indexes and statistics in SQL Server
Display and interpret basic query plans
Display and interpret basic query performance data