Mastering SQL Fundamentals cohort 2

Join our upcoming workshop to learn, connect, and grow with industry experts.

Mastering SQL Fundamentals cohort 2

Workshop Details

From: February 23, 2026 To: May 4, 2026

Time: 7 PM-8:30 PM

Platform: Microsoft Teams

Amount: KES 15,000

Share this Workshop

About this Workshop

SQL AMA Core Objectives

To equip you with in depth understanding of SQL syntax and correct application for analytics and data work; grounded in how databases actually function and how queries are logically executed. We will kick off from understanding core relational database theory and data integrity, to writing correct, readable queries, building reliable business metrics, combining data across multiple tables, and performing advanced analytical calculations using window functions.

This is not a syntax sprint, but it might feel like it. The ultimate goal is to develop self-sufficient SQL practitioners who can reason about data, and write accurate, maintainable queries that hold up in production environments.

Core Stack and Platforms:

Operating System

▪ Any modern operating system: Windows, macOS, or Linux.

Dialect

▪ PostgreSQL will be the primary database used throughout the course for schema design, querying, and analytics.

SQL Client

▪ DBeaver will be used to connect to PostgreSQL, explore schemas, visualize relationships (ERDs), and write and debug SQL queries.




Instructor Introduction


Hi, I’m Barongo—a data professional with a foundation in software engineering and a deep appreciation for systems thinking. I’ve worked across SaaS companies, fintechs, and even at a bakery; building applications with data as our driving undercurrents. I learnt SQL on survival mode, but out of this traumatic experience came the inspiration for this workshop.

Outside the syntax and Leetcode challenges, SQL is a powerhouse in the data space. This SQL AMA Workshop is built to reflect and contextualize the value of this language in business and tech teams. Over twelve weeks, we’ll explore the language and its applications deeply, iteratively, and practically. You’ll sharpen how you ask and interpret questions, how you structure solutions, and ultimately how you think in SQL.

And yes—this is the session where you can ask me anything.







Course Outline

Module

Lesson Dates

Lesson Description

Syntax

Delivery

Sumission Deadline Where Applicable

M001: Database Theory Essentials for SQL Users

SQL AMA Cohort 2 Onboarding Session
23/02/2026
7:30PM - 9:00PM

Program Onboarding Session -  Align Expectations and Assesment rules. Discuss SQL Engines and Clients. Install Dbeaver and Explore the Dbeaver Interface.

N/A

Virtual - Training Session
Mandatory

N/A

M001: Database Theory Essentials for SQL Users

Lesson 1
24/02/2026
7:30PM - 9:00PM

Introduction to Relational Databases - Introduction to Key relational DB theories and the relational model. Evolving from Spreadsheets to SQL.

DDL - CREATE, ALTER, DROP, TRUNCATE
DML - INSERT, UPDATE, DELETE, MERGE
DQL - SELECT

Virtual - Training Session
Recommended

N/A

M001: Database Theory Essentials for SQL Users

Lesson 2
26/02/2026
7:30PM - 9:00PM

Database Keys, Constraints, Normalization & SQL Data Types

DB THEORY: PRIMARY KEY, FOREIGN KEY, REFERENCES, UNIQUE, NOT NULL
DATA TYPES: INTEGER, BIGINT, VARCHAR(n), TEXT, DATE, TIMESTAMP, BOOLEAN, DECIMAL(precision, scale), NUMERIC(precision, scale), ::

Virtual - Training Session
Recommended

N/A

M001: Database Theory Essentials for SQL Users

Lesson 3
28/02/2026
7:30PM - 9:00PM

M001 Lab -  Define a relational entity and enforce integrity with keys and constraints. Explore normalization concepts discussed in Training Sessions. Experiment with various SQL Data Types and DML|DDL syntax.

 

Virtual - Code Along
Recommended

5/03/2026 5:00PM

M002: SQL Queries - Building Blocks

Lesson 4
03/03/2026
7:30PM - 9:00PM

Anatomy of an SQL Query

 

Virtual - Training Session
Recommended

N/A

M002: SQL Queries - Building Blocks

Lesson 5
 05/03/2026
7:30PM - 9:00PM

SQL Logical Processing Order - Deconstructing Order of Appearance VS Execution of SQL Queries

 

Virtual - Training Session
Recommended

N/A

M002: SQL Queries - Building Blocks

Lesson 6
07/03/2026
7:30PM - 9:00PM

M002 Lab -  Writing SQL queries and exploring query anatomy and schema-level querying extensivey (how tables live within schemas and how queries reference them. Illustrating SQL’s logical execution order, showing how each clause transforms the intermediate result set and why queries that look correct can still produce incorrect results.

 

Virtual - Code Along
Mandatory

N/A

M003: Filtering, Aggregation, & Metrics

Lesson 7
10/03/2026
7:30PM - 9:00PM

Filtering Correctly - Apply Row-Level filters before aggregation. Valid and Invalid filtering conditions. Handling Missing or Empty fields.

WHERE...AND|OR, IN, BETWEEN, IS NULL, IS NOT NULL

Virtual - Training Session
Recommended

FROM, JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY

M003: Filtering, Aggregation, & Metrics

Lesson 8
12/03/2026
7:30PM - 9:00PM

Defining the SQL Aggregation Grain

COUNT, SUM, AVG, MIN, MAX, GROUP BY, HAVING

Virtual - Training Session
Recommended

EXPLAIN, EXPLAIN ANALYZE

M003: Filtering, Aggregation, & Metrics

Lesson 9
14/03/2026
7:30PM - 9:00PM

M003 Lab - Designing KPIs that are aggregated on different levels of detail. Controlling aggregation and handling edge cases. Introduce Mandatory Scored Task 001.

N/A

Virtual - Code Along
Recommended

N/A

CATCH UP WEEK

Lesson 10
17/03/2026
7:30PM - 9:00PM

Review Syntax so Far Session 001

N/A

Virtual - Support Session
Optional

N/A

CATCH UP WEEK

Lesson 11
19/03/2026
7:30PM - 9:00PM

Review Syntax so Far Session 002

N/A

Virtual - Support Session
Optional

N/A

CATCH UP WEEK

Lesson 12
21/03/2026
7:30PM - 9:00PM

CUW Lab - Respond to the queries in Mandatory Scored Task 001. Publishing work so far on Github.

N/A

Virtual - Training Session
Mandatory

N/A

M004: Core SQL Constructs For Data Preparation; Date, String & Numeric Functions

Lesson 13
24/03/2026
7:30PM - 9:00PM

Core SQL Constructs - Date Functions. Extracting meaningful date/time fields. Date Calcuations. Preparing time-based dimensions.

DATE, TIMESTAMP, EXTRACT(field FROM date_expression), DATE_TRUNC(unit, date_expression), date_expression +- INTERVAL 'naming_string', CURRENT_DATE, CURRENT_TIMESTAMP, CAST(value AS DATE), CAST(value AS TIMESTAMP), value::DATE, value::TIMESTAMP

Virtual - Training Session
Recommended

N/A

M004: Core SQL Constructs For Data Preparation; Date, String & Numeric Functions

Lesson 14
26/03/2026
7:30PM - 9:00PM

Core SQL Constructs - String Functions. Cleaning and Standardizing textual data. Manipulating and deriving values from strings.

TRIM(string), LTRIM(string), RTRIM(string), LOWER(string), UPPER(string), SUBSTRING(string FROM start FOR length), SUBSTRING(string, start, length), CONCAT(string1, string2 [, ...]), LENGTH(string), LPAD(string, length, pad_string), RPAD(string, length, pad_string), CAST(value AS VARCHAR), CAST(value AS TEXT), value::VARCHAR, value::TEXT

Virtual - Training Session
Recommended

N/A

M004: Core SQL Constructs For Data Preparation; Date, String & Numeric Functions

Lesson 15
28/03/2026
7:30PM - 9:00PM

Core SQL Constructs - SQL Operators and Numeric Functions. Peforming safe, predictable arithmetics. NULL-related erros.

Logical and Comparison Operators. + - * / % ^, COALESCE(value1, value2 [, ...]), NULLIF(value1, value2), CAST(value AS NUMERIC_TYPE), value::NUMERIC_TYPE, ROUND(number [, precision]), ABS(number), CEILING(number), FLOOR(number), MOD(number, divisor), POWER(number, exponent)

Virtual - Training Session
Recommended

N/A

M005: Working with Multiple Tables using JOINs

Lesson 16
31/03/2026
7:30PM - 9:00PM

Fundamentals of Joining Logic. Join Conditions VS Filters.

JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, ON

Virtual - Training Session
Recommended

N/A

M005: Working with Multiple Tables using JOINs

Lesson 17
02/04/2026
7:30PM - 9:00PM

Nested JOINs, Chained JOINs. Row Loss and Data Duplication.

N/A

Virtual - Training Session
Recommended

N/A

M005: Working with Multiple Tables using JOINs

Lesson 18
04/04/2026
7:30PM - 9:00PM

M005 Lab - Working with JOINs on normalized tables CORRECTLY. Identifying join related logical Errors. Validating the choice in different JOIN TYPES. Introducing Mandatory Scored Task 002.

N/A

Virtual - Code Along
Mandatory

09/04/2026 5:00PM | Mandatory Scored Task 002 - 14/04/2026 5:00PM

M006: Writing Readable Queries

Lesson 19
07/04/2026
7:30PM - 9:00PM

Introduction to Subqueries; Structuring and Expressing complex logic in clear, correct, mainatinable order.  When and Where Subqueries can be used.

SELECT (subquery), FROM (subquery) AS alias, WHERE column IN (subquery), WHERE EXISTS (subquery)...

Virtual - Training Session
Recommended

N/A

M006: Writing Readable Queries

Lesson 20
09/04/2026
7:30PM - 9:00PM

Introduction to Common Table Expressions - Improving query readability using named query blocks. Replacing nested query logic with cleaner logic.

WITH cte_name AS ( SELECT ...)
SELECT ...
FROM cte_name;

Virtual - Training Session
Recommended

N/A

M006: Writing Readable Queries

Lesson 21
11/04/2026
7:30PM - 9:00PM

Review Syntax so Far Session 003

N/A

Virtual - Support Session
Optional

N/A

M007: Window Functions

Lesson 22
14/04/2026
7:30PM - 9:00PM

Introduction to Window Functions Syntax. Differentiating WFs from Aggregation Functions. Partitioning and ordering result sets. Aggregate Window Functions.

OVER ()... PARTITION BY... ORDER BY
ROW_NUMBER(), RANK(), DENSE_RANK()
COUNT(*) OVER (...)
SUM(expression) OVER (...)
AVG(expression) OVER (...)
MIN(expression) OVER (...)
MAX(expression) OVER (...)

Virtual - Training Session
Recommended

N/A

M007: Window Functions

Lesson 23
16/04/2026
7:30PM - 9:00PM

Conducting Cummulative and Comparative Analyses with WFs. Navigating Rows and Creating Frames.

LAG(expression [, offset [, default]])
LEAD(expression [, offset [, default]])
FIRST_VALUE(expression)
LAST_VALUE(expression)
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
ROWS BETWEEN n PRECEDING AND CURRENT ROW
ROWS BETWEEN CURRENT ROW AND n FOLLOWING
ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING

Virtual - Training Session
Recommended

N/A

M007: Window Functions

Lesson 24
18/04/2026
7:30PM - 9:00PM

M006 Lab - Writing Analytical Queries with Window Functions while producing Rankings, Running Metrics, and Comparison Metrics. Introducing Mandatory Scored Task 003.

N/A

Virtual - Code Along
Mandatory

23/04/2026 5:00PM | Mandatory Scored Task 003 - 25/04/2026 5:00PM

CATCH UP WEEK

Lesson 25
21/04/2026
7:30PM - 9:00PM

Review Syntax so Far Session 004

N/A

Virtual - Support Session
Optional

N/A

CATCH UP WEEK

Lesson 26
23/04/2026
7:30PM - 9:00PM

CUW Lab -Review of Mandatory Scored Task 002

N/A

Virtual - Training Session
Optional

N/A

CATCH UP WEEK

Lesson 2
25/04/2026
7:30PM - 9:00PM

CUW Lab - Review Mandatory Scored Task 003. Introducing Mandatory Scored Task 004 as Capstone Project

N/A

Virtual - Training Session
Optional

Mandatory Scored Task 004 - 30/04/2026 5:00PM

PROJECT WEEK

Lesson 28
26/04/2026
7:30PM - 9:00PM

Project Support

N/A

Virtual - Support Session
Optional

N/A

PROJECT WEEK

Lesson 29
27/04/2026
7:30PM - 9:00PM

Project Support

N/A

Virtual - Support Session
Optional

N/A

PROJECT WEEK

Lesson 30
28/04/2026
7:30PM - 9:00PM

CUW Lab -Review of Mandatory Scored Task 004. Publishing on Github.

N/A

Virtual - Support Session
Optional

N/A

Closing Ceremony

04/05/2026
7:30PM - 9:00PM

Closing Ceremony and Showcases

N/A

Virtual Closing Ceremony

N/A