Skip to content
Data Analyst Associate Track
Welcome
Thanks for stopping by! This workbook is a collection of exercises I have developed throughout my journey towards becoming a certified Data Analyst Associate.
Each section of this workbook is organized by course and further broken down by chapter. For each chapter, I have included exercises that apply the concepts and techniques covered. You’ll find exercises on various topics, including SQL queries, data manipulation, and data visualization, each demonstrating my ability to handle real-world data challenges.
Thank you for exploring my work. I hope this workbook provides valuable insight into my data analysis capabilities and approach.
Table of Contents
- 01. Introduction to SQL (Invalid URL)
- Querying (Invalid URL)
- 02. Intermediate SQL (Invalid URL)
- Selecting Data (Invalid URL)
- Filtering Records (Invalid URL)
- Aggregate Functions (Invalid URL)
- Sorting and Grouping (Invalid URL)
- 03. Joining Data in SQL (Invalid URL)
- Introducing INNER JOINs (Invalid URL)
- Outer Joins, CROSS JOINs, and Self Joins (Invalid URL)
- Set Theory for SQL Joins (Invalid URL)
- Subqueries (Invalid URL)
- 04. Data Manipulation in SQL (Invalid URL)
- We'll Take the CASE (Invalid URL)
- Short and Simple Subqueries (Invalid URL)
- Correlated Queries, Nested Queries, and Common Table Expressions (Invalid URL)
- Window Functions (Invalid URL)
- 05. PostgreSQL Summary Stats and Window Functions (Invalid URL)
- Introduction to Window Functions (Invalid URL)
- Fetching, Ranking, and Paging (Invalid URL)
- Aggregate Window Functions and Frames (Invalid URL)
- Beyond Window Functions (Invalid URL)
- 06. Functions for Manipulating Data in PostgreSQL (Invalid URL)
- Overview of Common Data Types (Invalid URL)
- Working with DATE/TIME Functions and Operators (Invalid URL)
- Parsing and Manipulating Text (Invalid URL)
- Full-Text Search and PostgreSQL Extensions (Invalid URL)
01. Introduction to SQL
Querying
DataFrameas
df38
variable
-- information for all orders
SELECT *
FROM OT.ORDERS02: Intermediate SQL
Selecting Data
DataFrameas
df1
variable
-- DISTINCT()
-- return the distinct statuses for orders
SELECT DISTINCT STATUS
FROM OT.ORDERSFiltering Records Test
DataFrameas
df7
variable
-- WHERE
-- return the number of pending orders
SELECT COUNT(*)
FROM OT.ORDERS
WHERE STATUS = 'Pending'DataFrameas
df8
variable
-- AND
-- NUMBER OF ORDERS THAT REQUIRED AT LEAST 100 OF A PRODUCT THAT COST OVER $200
SELECT COUNT(DISTINCT ORDER_ID)
FROM OT.ORDER_ITEMS
WHERE QUANTITY >= 100
AND UNIT_PRICE > 200DataFrameas
df9
variable
-- BETWEEN
-- product where the list price is between $200 and $500
SELECT
PRODUCT_ID
, PRODUCT_NAME
FROM PRODUCTS
WHERE LIST_PRICE BETWEEN 200 AND 500
DataFrameas
df10
variable
-- LIKE (%)
-- return products associated with gaming
SELECT
PRODUCT_ID
, PRODUCT_NAME
FROM PRODUCTS
WHERE LOWER(PRODUCT_NAME) LIKE '%gaming%' -- use LOWER to change to lower caseDataFrameas
df11
variable
-- LIKE (_)
-- return products from any of the G.Skill Ripjaws series
SELECT
PRODUCT_ID
, PRODUCT_NAME
FROM PRODUCTS
WHERE PRODUCT_NAME LIKE 'G.Skill Ripjaws _ Series' DataFrameas
df12
variable
-- NOT LIKE
-- return all non-Asus products
SELECT
PRODUCT_ID
, PRODUCT_NAME
FROM PRODUCTS
WHERE PRODUCT_NAME NOT LIKE 'Asus%'