About This Course
Data is the backbone of modern organisations, and the ability to query and manage it effectively is one of the most in-demand technical skills in today's workplace. Structured Query Language (SQL) is the universal language of relational databases — used by analysts, developers, administrators, and managers across every sector to store, retrieve, and transform data at scale. Whether you are working with customer records, financial transactions, programme monitoring data, or operational logs, SQL is the tool that turns raw data into actionable intelligence.
TrainingComplex's SQL Fundamentals Training is a ten-day, hands-on programme designed to take participants from the very basics of database concepts through to confident, practical SQL usage in real-world scenarios. The course is structured progressively — beginning with the principles of relational databases and the SELECT statement, then building through filtering, sorting, grouping, multi-table joins, subqueries, data modification, and finally database design and administration fundamentals.
Each day combines clear conceptual instruction with guided lab exercises performed on live database environments, ensuring that every topic is immediately reinforced through practice. Participants work with realistic datasets drawn from business, public sector, and development contexts, making the learning directly applicable to their own professional environments. By the close of the programme, every participant will have built a working portfolio of SQL queries and scripts that they can take back and use on the job from day one.
This programme is suitable for absolute beginners with no prior SQL experience as well as for professionals who have used SQL informally and want to consolidate and deepen their knowledge. TrainingComplex's expert facilitators bring both technical depth and strong instructional design to ensure the material is accessible, rigorous, and immediately useful.
Who Should Attend
- Data analysts and business intelligence professionals seeking to build or formalise their SQL skills
- Finance and accounting staff who work with large datasets and need to query financial databases
- Monitoring and evaluation officers who manage programme data in relational database systems
- ICT officers and system administrators responsible for database maintenance and reporting
- Software developers and application support staff working with backend database systems
- Project managers and operations staff who need to extract and interpret data independently
- Research and statistics professionals handling large structured datasets
- Public sector employees working with government data management systems
- Recent graduates and early-career professionals entering data-related roles
Learning Objectives
- Explain the principles of relational database management systems and how data is organised in tables
- Write accurate SELECT statements to retrieve specific data from single and multiple tables
- Apply WHERE clauses, comparison operators, and logical operators to filter query results precisely
- Use ORDER BY, GROUP BY, and HAVING clauses to sort and aggregate data effectively
- Perform INNER, LEFT, RIGHT, and FULL OUTER JOINs to combine data from related tables
- Write subqueries and nested queries to solve complex data retrieval problems
- Use built-in SQL functions for string manipulation, date handling, and numeric calculations
- Insert, update, and delete records safely using DML statements with appropriate constraints
- Design normalised relational database schemas using primary keys, foreign keys, and indexes
- Create and manage database objects including tables, views, and stored procedures
- Apply transactions and understand basic concurrency control to protect data integrity
- Optimise query performance through indexing strategies and query execution plan analysis
- Apply SQL best practices for security, data quality, and maintainable code in professional settings
Course Modules
Module 1: Introduction to Relational Databases and the SQL Environment
- What is a relational database management system (RDBMS) and how it differs from spreadsheets
- Key concepts: tables, rows, columns, primary keys, and foreign keys
- Overview of popular SQL platforms: MySQL, PostgreSQL, Microsoft SQL Server, and SQLite
- Setting up the training environment and running your first SQL statement
- How SQL is structured into sub-languages: DQL, DML, DDL, and DCL and what each governs
- Understanding schemas and how databases organise multiple tables into logical namespaces
Module 2: Retrieving Data with SELECT
- Basic SELECT syntax: selecting all columns versus specific columns
- Using column aliases to make output readable and meaningful
- Eliminating duplicate rows with DISTINCT
- Introduction to the FROM clause and understanding table structure
- Controlling the number of rows returned using TOP, LIMIT, or FETCH FIRST depending on the platform
- Using literal values and simple expressions inside the SELECT list to extend retrieved data
Module 3: Filtering and Sorting Query Results
- Writing WHERE clauses with comparison operators (=, <>, <, >, BETWEEN, IN, LIKE)
- Combining conditions with AND, OR, and NOT logical operators
- Handling NULL values with IS NULL and IS NOT NULL
- Ordering results with ORDER BY in ascending and descending sequence
- Using wildcard patterns with LIKE and understanding the difference between % and _ placeholders
- Precedence rules for logical operators and using parentheses to enforce evaluation order
Module 4: Aggregating and Grouping Data
- Using aggregate functions: COUNT, SUM, AVG, MIN, and MAX
- Grouping results with GROUP BY to produce summary reports
- Filtering aggregated results with the HAVING clause
- Difference between WHERE and HAVING and when to use each
- Using COUNT(column) versus COUNT(*) and how NULL values affect aggregate calculations
- Rolling up multiple grouping levels with ROLLUP to generate subtotals and grand totals
Module 5: Working with Multiple Tables: JOINs
- Understanding relationships between tables and why joins are necessary
- INNER JOIN: retrieving only matching rows from two tables
- LEFT, RIGHT, and FULL OUTER JOINs: handling non-matching rows
- Self-joins and joining more than two tables in a single query
- Using table aliases to keep multi-table queries readable and unambiguous
- CROSS JOINs and when a Cartesian product is intentionally useful versus a common mistake to avoid
Module 6: Subqueries and Derived Tables
- Writing single-row and multi-row subqueries in the WHERE clause
- Using subqueries in the SELECT list and the FROM clause as derived tables
- Correlated subqueries and how they differ from independent subqueries
- Using EXISTS and NOT EXISTS to test for the presence of related records
- Rewriting subqueries as JOINs and understanding when each approach is preferable for clarity and performance
- Using Common Table Expressions (CTEs) with the WITH clause as a readable alternative to nested derived tables
Module 7: Built-in SQL Functions
- String functions: CONCAT, UPPER, LOWER, TRIM, SUBSTRING, and REPLACE
- Date and time functions: GETDATE, DATEPART, DATEDIFF, and formatting date output
- Numeric functions: ROUND, ABS, CEILING, FLOOR, and CAST for type conversion
- Conditional logic with CASE WHEN expressions to create calculated columns
- Using COALESCE and NULLIF to handle NULL values gracefully within expressions
- Understanding function portability: noting where syntax differs across MySQL, PostgreSQL, and SQL Server
Module 8: Modifying Data with DML Statements
- Inserting single and multiple rows with INSERT INTO statements
- Updating existing records with UPDATE and targeted WHERE conditions
- Deleting records safely with DELETE and understanding truncation versus deletion
- Using transactions (BEGIN, COMMIT, ROLLBACK) to protect data during modifications
- Using INSERT INTO … SELECT to populate a table from query results in a single statement
- Understanding the risks of UPDATE and DELETE without a WHERE clause and strategies for testing changes before committing
Module 9: Database Design and Normalisation
- Principles of normalisation: first, second, and third normal form explained
- Designing entity-relationship (ER) diagrams to plan database structure
- Defining constraints: PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, and CHECK
- Creating, altering, and dropping tables using DDL statements
- Choosing appropriate data types for columns and the impact of data type choice on storage and query accuracy
- Understanding referential integrity and how cascading actions (ON DELETE CASCADE, ON UPDATE CASCADE) maintain consistency across related tables
Module 10: Views, Indexes, and Database Objects
- Creating and managing views to simplify complex queries and control data access
- Understanding indexes: how they work and when to create them for performance
- Introduction to stored procedures: writing and executing reusable SQL code blocks
- Using sequences and auto-increment columns for surrogate key generation
- Difference between updatable and non-updatable views and the implications for using views as data access layers
- Introduction to triggers: automating actions in response to INSERT, UPDATE, or DELETE events on a table
Module 11: Query Performance and Optimisation
- Reading and interpreting a query execution plan to identify bottlenecks
- Indexing strategies: clustered versus non-clustered indexes and composite indexes
- Avoiding common performance pitfalls: SELECT *, implicit conversions, and functions on indexed columns
- Rewriting inefficient queries using best-practice patterns
- Understanding statistics and how the query optimiser uses them to choose execution plans
- Using query hints and the impact of index fragmentation on ongoing database performance
Module 12: SQL Security, Data Quality, and Best Practices
- User roles, permissions, and the principle of least privilege in database security
- Preventing SQL injection: parameterised queries and input validation concepts
- Data quality checks: using SQL to identify duplicates, nulls, and out-of-range values
- Code readability and maintainability: formatting conventions, commenting, and naming standards
- Using GRANT and REVOKE statements to manage object-level permissions for users and roles
- Auditing and logging strategies: tracking who accessed or modified data and why audit trails matter for compliance
Module 13: Capstone Project and Real-World Application
- Capstone scenario briefing: participants receive a realistic business dataset and a set of analytical questions to answer
- Schema design and data loading: structuring tables, applying constraints, and importing data
- Query development: writing and refining queries to answer each business question
- Presentation and peer review: sharing solutions, discussing alternative approaches, and consolidating key lessons from the programme
- Performance and quality review: applying optimisation techniques and data quality checks learned throughout the course to the capstone dataset
- Reflective self-assessment and next steps: identifying personal skill gaps, exploring advanced SQL topics, and mapping a learning path for continued development
Requirements & Prerequisites
No prior SQL or programming experience is required to attend this course. Participants should be comfortable using a computer, navigating file systems, and working with spreadsheet applications such as Microsoft Excel. A basic familiarity with the concept of tables and rows of data — as encountered in spreadsheets or simple databases — will be helpful but is not a formal prerequisite.
Training Methodology
- Instructor-led demonstrations on a live database environment, with participants following along on individual workstations or laptops
- Guided lab exercises after each conceptual segment, allowing participants to write and run SQL queries against realistic sample datasets
- Progressive challenge sets that start with simple retrieval tasks and build toward multi-table, multi-condition queries
- Peer debugging sessions where participants review each other's queries, discuss errors, and learn to read SQL error messages systematically
- Case study scenarios drawn from business, public sector, and development programme contexts to anchor SQL concepts in familiar professional situations
- Query-building workshops where small groups collaborate to solve a defined data problem, then present and compare their approaches
- A running personal query library that each participant builds throughout the ten days, creating a practical reference they take away
- End-of-day reflection and Q&A reviews to consolidate learning and address common misconceptions before the next session
- A capstone project on the final day requiring participants to design a schema, load data, and answer a set of business questions using SQL alone
Organisational Benefits
- Organisations gain staff who can independently query and analyse operational data without relying solely on IT departments
- Data-driven decision-making is accelerated as employees can extract and interpret information directly from source systems
- Data quality and integrity improve as staff understand how databases work and how to handle data responsibly
- Reporting cycles are shortened when analysts can write their own queries rather than submitting requests through intermediaries
- Cost savings are achieved by reducing dependence on external consultants for routine data extraction and reporting tasks
- Monitoring, evaluation, and accountability functions are strengthened through better access to programme and operational data
- ICT teams benefit from colleagues who understand database concepts, reducing support burden and miscommunication
- Organisations build internal capacity that supports digital transformation initiatives and data governance frameworks
- Staff confidence and professional competence increase, contributing to employee satisfaction and retention
Where Is Structured Query Language (SQL) Fundamentals Training Offered?
This course runs in-person across: Kampala, Johannesburg, Naivasha, Accra, Dar es Salaam, Pretoria, Arusha, Kisumu, Addis Ababa, Nakuru, Dubai, Abuja, Nairobi, Zanzibar, Cape Town, Riyadh, Mombasa, Lagos, Kigali, plus Live Virtual (online) cohorts. Browse live dates for your city below.
Upcoming Schedules
| Location | Format | Dates | Price |
| Live Virtual |
Online |
12 Sept 2026 – 1 Nov 2026 |
KES 160,000 |
| Kampala, Uganda |
In-Person |
28 Sept 2026 – 7 Oct 2026 |
USD 3,800 |
| Johannesburg, South Africa |
In-Person |
28 Sept 2026 – 7 Oct 2026 |
USD 7,000 |
| Naivasha, Kenya |
In-Person |
28 Sept 2026 – 7 Oct 2026 |
KES 240,000 |
| Accra, Ghana |
In-Person |
28 Sept 2026 – 7 Oct 2026 |
USD 7,600 |
| Dar es Salaam, Tanzania |
In-Person |
28 Sept 2026 – 7 Oct 2026 |
USD 4,600 |
| Accra, Ghana |
In-Person |
5 Oct 2026 – 14 Oct 2026 |
USD 7,600 |
| Johannesburg, South Africa |
In-Person |
5 Oct 2026 – 14 Oct 2026 |
USD 7,000 |
| Naivasha, Kenya |
In-Person |
5 Oct 2026 – 14 Oct 2026 |
KES 240,000 |
| Dar es Salaam, Tanzania |
In-Person |
5 Oct 2026 – 14 Oct 2026 |
USD 4,600 |
| Kampala, Uganda |
In-Person |
5 Oct 2026 – 14 Oct 2026 |
USD 3,800 |
| Pretoria, South Africa |
In-Person |
12 Oct 2026 – 21 Oct 2026 |
USD 6,600 |
| Arusha, Tanzania |
In-Person |
12 Oct 2026 – 21 Oct 2026 |
USD 4,200 |
| Kisumu, Kenya |
In-Person |
12 Oct 2026 – 21 Oct 2026 |
KES 240,000 |
| Addis Ababa, Ethiopia |
In-Person |
12 Oct 2026 – 21 Oct 2026 |
USD 4,800 |
+243 more dates — view live schedule →
Frequently Asked Questions
Do I need any prior programming or database experience to attend?
No prior experience is required. This course is designed for complete beginners and assumes no knowledge of SQL or programming. All you need is comfort using a computer and working with data in a spreadsheet-like environment.
What software or tools will be used during the training?
The course uses industry-standard SQL platforms — primarily MySQL and PostgreSQL — which are free and open-source. All necessary software will be pre-configured in the training environment, and participants will receive installation guides if they wish to set up the tools on their own machines.
Will I receive a certificate upon completion?
Yes. Participants who attend the full ten-day programme and complete the capstone project will receive a TrainingComplex Certificate of Completion in SQL Fundamentals, which can be shared with employers and added to professional profiles.
Is this course suitable for non-technical professionals such as analysts or M&E officers?
Absolutely. The course is specifically designed to be accessible to professionals from non-IT backgrounds, including data analysts, finance staff, and monitoring and evaluation officers. The examples and case studies are drawn from business and public sector contexts that resonate with non-developer audiences.
Will participants have access to course materials after the training ends?
Yes. All participants receive a comprehensive course workbook, a copy of their personal query library built during the programme, and access to the sample datasets used in the labs, so they can continue practising and referring to materials after they return to their organisations.
View Live Schedule & Book →