This course is intended for information workers and data science professionals who seek to use database reporting and analysis tools such as Microsoft SQL Server Reporting Services, Excel, Power BI, R, SAS and other business intelligence tools, and wish to use TSQL queries to efficiently retrieve data sets from Microsoft SQL Server relational databases for use with these tools.
This module discusses writing analytical queries vs. transactional DML queries, and describes the typical architecture of a business intelligence environment. It discusses the role of SELECT queries in retrieving data for analysis from relational databases. It introduces the sample database to be used in the course, and begins a presentation of the SELECT query.
Two Approaches to SQL Programming
TSQL Data Retrieval in an Analytics Environment
The Database Engine
SQL Server Management Studio and the CarDeal Sample Database
Identifying Variables in Tables
SQL is a Declarative Language
Introduction to the SELECT Query
Introduction to TSQL for Business Intelligence
Create a database diagram
Create and execute basic SELECT queries
Describe the purpose of analytical queries.
Describe the function of TSQL data retrieval in an analytics / business intelligence environment.
Describe the primary functions of the database engine.
Discuss TSQL as a declarative language.
Identify variables of interest in database tables.
Write basic SELECT queries.
This module covers the identification of and relationship between levels of measurement and column data types. It continues a discussion of the SELECT query and adds the WHERE and ORDER BY clauses.
Turning Columns into Variables for Analysis
Column Expressions, Data Types, and Built-in Functions
Data type conversions
Built-in Scalar Functions
The WHERE clause
Write queries using
Column and table aliases
Explicit and implicit data type conversion
Implement column expressions in SELECT queries.
Implement column and table aliases.
Describe data types and Implement data type conversions.
Implement built-in functions.
Use WHERE and ORDER BY clauses in SELECT queries.
Discusses creating single datasets for analysis by combining results from multiple database tables using JOIN.
Primary Keys, Foreign Keys, and Joins
Understanding Joins, Part 1: CROSS JOIN and the Full Cartesian Product
Understanding Joins, Part 2: The INNER JOIN
Understanding Joins, Part 3: The OUTER JOINS
Understanding Joins, Part 4: Joining more than two tables
Understanding Joins, Part 5: Combining INNER and OUTER JOINs
Combining JOIN Operations with WHERE and ORDER BY
Write SELECT queries using
Left, right, and full join
Joins of more than two tables
Join operators, in addition to WHERE and ORDER BY
Discuss and describe the conceptual flow of JOIN operations.
Implement INNER and OUTER JOIN operations on two or more tables.
Describe the order of operations of SELECT clauses.
Combine JOIN operations with WHERE and ORDER BY.
This module covers the aggregation of quantitative column values across grouping factors for the purpose of group-wise comparisons and/or changing the granularity of a dataset.
Identifying required aggregation level and granularity
Order of operations in SELECT queries
Write queries using
Aggregate function with HAVING
Aggregate function with GROUP BY and HAVING
Aggregate function with GROUP BY, HAVING, WHERE, and ORDER BY
Describe row granularity of result sets.
Discuss and implement aggregate functions to achieve required row granularity.
Use GROUP BY to calculate aggregate values for groups.
Use HAVING to filter records in the result set by aggregate value.
Combine GROUP BY and HAVING with WHERE and ORDER BY.
This module covers the use of subqueries, derived tables, and common table expressions in SELECT queries as techniques for creating intermediate result sets.
Non-correlated and correlated subqueries
Common table expressions
Write queries using
Common table expressions
Subqueries, derived tables, and common table expressions and other topics
Describe and discuss the rationale of creating intermediate results sets within SELECT queries.
Implement non-correlated and correlated subqueries.
Implement derived tables.
Implement Common Table Expressions.
Create intermediate to advanced TSQL queries to retrieve result sets for analysis.
This module discusses the encapsulation of data retrieval logic in views, table-valued functions, and stored procedures. It also describes scenarios in which these techniques are useful for producing datasets for analysis. Finally, it describes the database security issues involved, and techniques for creating and using these database objects while maintaining current permission sets on source data.
Creating objects for read-access users
Creating database accounts for analytical client tools
Encapsulating Data Retrieval Logic
Create a SQL login
Create a database user and assign required permissions
Create a database schema for views, functions, and stored procs
Create a view
Create a table-values function
Create a stored procedure
Allow a user with read-only access to use views, table-valued functions, and store procedures
Identify scenarios in which views, table-valued functions, and stored procedures simply data retrieval.
Compare and contrast views, table-valued functions, and stored procedures.
Create views, table-valued functions, and stored procedures.
Describe the security requirement for creating database objects.
Implement views, table-valued functions, and stored procedures for users with read-only access to source data.
This module covers common techniques for making datasets produced by SELECT queries available to analytical client tools such as SQL Server Reporting Services, PowerBI, Excel, and R. It discusses running queries directly from the client tool, in addition to exporting datasets to text files which can then be accessed by the client tool.
Connecting to SQL Server and Submitting Queries from Client Tools
Connecting and running SELECT queries from:
Exporting datasets to files using
Results pane from SSMS
The bcp utility
The Import/Export Wizard
Getting Your Dataset to the Client
Retrieving the results of a view in Excel
Running an ad-hoc SELECT query from Excel
Running an ad-hoc query from PowerBI
Running an ad-hoc query from RStudio
Using the Import/Export wizard to write the results of a query to a text file
Describe the properties of database connection strings.
Run queries from, and return results to, Excel, PowerBI, and RStudio.
Export query results to external text files using the SSMS results pane, the bcp utility, and the Import/Export Wizard.