Instructor Blogs

AmeriTeach

« Administering Microsoft SQL Server 2012 Databases - New! | Main | Red Hat Enterprise Linux 6 Technical Overview »
Monday
Mar052012

Querying Microsoft SQL Server 2012 - New!


Querying Microsoft SQL Server 2012

Course 10774: Five days; Instructor-Led

Audience Profile

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.

 

At Course Completion 

After completing this course, students will be able to:

  • ·         Write SELECT Queries
  • ·         Query Multiple Tables
  • ·         Use Built-In Functions
  • ·         Use Subqueries
  • ·         Execute Stored Procedures
  • ·         Use Set Operators
  • ·         Implement Error Handling
  • ·         Implementing 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

 

Before attending this course, students must have:

  • ·        
  • ·         Basic knowledge of the Microsoft Windows operating system

 

Course Outline

Module 1: Introduction to Microsoft SQL Server 2012This 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

  • ·         SQL Server Denali Architecture
  • ·         Working with SQL Server Denali Tools
  • ·         Working with SQL Server Databases

Lab : Working with SQL Server Denali Tools (Azure enabled)

  • ·         Working with SQL Server Management Studio
  • ·         Exploring with Database Objects
  • ·         Organizing and Creating T-SQL Scripts
  • ·         Using Books Online

After completing this module, students will be able to:

  • ·         Describe SQL Server components
  • ·         Create and save T-SQL scripts in SQL Server Management Studio
  • ·         Browse the objects in a database
  • ·         Search T-SQL syntax definitions in Books Online

Module 2: Introduction to Transact-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 Transact-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 its role in writing queries
  • ·         Describe the use of sets in SQL Server
  • ·         Describe the use of predicate logic in SQL Server
  • ·         Define the logical order of operations in SELECT statements

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

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 Using Self and Cross Joins

Lab : Querying Multiple Tables

  • ·         Write queries using inner joins
  • ·         Write queries using multi-table joins
  • ·         Write queries using self joins
  • ·         Write queries using outer joins

After completing this module, students will be able to:

  • ·         Describe how multiple tables may be queried in a SELECT statement using joins
  • ·         Write queries which use inner joins
  • ·         Write queries which use outer joins
  • ·         Write queries which use self-joins and cross joins

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
  • ·         Filtering with the TOP and OFFSET-FETCH Options
  • ·         Working with Unknown Values

Lab : Filtering and Sorting Data

  • ·         Write queries that filter data using a WHERE clause
  • ·         Write queries that sort data with the ORDER BY clause
  • ·         Write queries that filter data using the TOP option
  • ·         Write 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
  • ·         Understand and handle NULLs

Module 6: Working with SQL Server Denali 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 Denali Data Types
  • ·         Working with Character Data
  • ·         Working with Date and Time Data

Lab : Working with SQL Server 2012 Data Types

  • ·         Write queries which return date and time data
  • ·         Write queries which use date and time functions
  • ·         Write queries which return character data
  • ·         Write queries which 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

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 Test for Nullability

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

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 the HAVING Clause

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

  • ·         Write queries which use self-contained subqueries
  • ·         Write queries which use correlated subqueries
  • ·         Write queries which use scalar and multi-result subqueries
  • ·         Write queries which use the IN and EXISTS predicates

After completing this module, students will be able to:

  • ·         Use self-contained subqueries, correlated subqueries, scalar subqueries, and multi-valued subqueries
  • ·         Use the IN and EXISTS predicates

Module 10: 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

  • ·         Views
  • ·         Table Expressions

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 expressions

After completing this module, students will be able to:

  • ·         Write queries against views
  • ·         Use derived tables
  • ·         Use common table expressions
  • ·         Use inline table-valued expressions

Module 11: Use Set Operators

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.

 

Lab : Use 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 APPLY with derived tables and functions
  • ·         Write queries which use EXCEPT and INTERSECT operators

After completing this module, students will be able to:

  • ·         Describe the difference between a set and a multi-set
  • ·         Use the UNION and UNION ALL operators
  • ·         Use CROSS APPLY, OUTER APPLY and APPLY
  • ·         Use EXCEPT and INTERSECT operators

Module 12: 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.

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:

  • ·         Use window ranking functions ROW_NUMBER, RANK, DENSE_RANK, NTILE
  • ·         Use offset functions LAG, LEAD, FIRST_VALUE, LAST_VALUE
  • ·         Use window aggregate functions
  • ·         Use the basic forms of window partitioning, window ordering and window framing

Module 13: 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 2012.

Lab : Pivoting and Grouping Sets

  • ·         Write queries which use the PIVOT operator
  • ·         Write queries which use the GROUPING SETS subclause
  • ·         Write queries which use GROUP BY ROLLUP
  • ·         Write queries which use GROUP BY CUBE

After completing this module, students will be able to:

  • ·         Use the basic form of PIVOT and UNPIVOT operators
  • ·         Use the fundamental form of GROUPING SETS clause

Module 14: Querying SQL Server Metadata

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.

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 against system catalog views and functions
  • ·         Execute system stored procedures
  • ·         Identify and query system dynamic management objects
  • ·         Describe security permissions necessary to query system objects

Module 15: Executing 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.

Lab : Executing Stored Procedures

  • ·         Use the EXECUTE statement to invoke stored procedures
  • ·         Pass parameters to stored procedures
  • ·         Return results from a stored procedure using the OUTPUT clause
  • ·         Execute system stored procedures

After completing this module, students will be able to:

  • ·         Invoke existing stored procedures with EXECUTE
  • ·         Pass input parameters and receive output parameters
  • ·         Generate dynamic SQL statements

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.

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:

  • ·         Understand where T-SQL programming objects can be used
  • ·         Declare variables and delimit batches
  • ·         Use control of flow elements such as IF, WHILE, BEGIN, END, RETURN
  • ·         Use synonyms

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

Lab : Implementing Error Handling

  • ·         Redirecting errors with TRY/CATCH
  • ·         Creating error handling routines in a CATCH block with ERROR functions
  • ·         Using THROW to pass an error message back to a client

After completing this module, students will be able to:

  • ·         Describe the behavior of SQL Server when errors occur in T-SQL code
  • ·         Use TRY/CATCH blocks to handle error flow
  • ·         Understand ERROR class functions

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.

Lab : Implementing Transactions

  • ·         Controlling transactions with BEGIN and COMMIT
  • ·         Using XACT_ABORT
  • ·         Adding transaction handling logic to a CATCH block

After completing this module, students will be able to:

  • ·         Describe the benefits of using transactions
  • ·         Control transactions with BEGIN, COMMIT, ROLLBACK
  • ·         Describe error handling behavior in transactions

Module 19: Improving Query Performance

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.

Lab : Improving Query Performance

  • ·         Viewing query execution plans
  • ·         Using SET STATISTICS statements
  • ·         Viewing index usage
  • ·         Comparing cursors to set-based queries

After completing this module, students will be able to:

  • ·         Describe how SQL Server uses indexes to support query execution
  • ·         Enable the display of execution plans in SQL Server Management Studio
  • ·         Enable system IO and time information in query results
  • ·         Describe the differences between accessing data in sets versus via cursors

View the SQL Server Training Schedule

Visit the AmeriTeach Website

    

 

 

 

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.