Short course
SQL
SQL is the universal language of databases. It was born in the seventies and has never been dethroned: every management application, every information system and every data collection platform stores its information in databases queried with SQL. It is also, by far, the technical skill most often required in data-related job advertisements.
- Duration
- 5 sessions, 18 hours
- Format
- In person or online
- Credential
- Certificate of attendance
Tuition69,000 XOF

By the end of the programme, you will be able to
- Understand what a relational database, a table, a primary key and a foreign key are
- Read a database schema and identify where the information you need is stored
- Write a complete extraction query with selection, filtering, sorting and limits
- Use text, date, calculation and conversion functions
- Aggregate data and produce summaries by category
- Combine several tables with the different types of joins and know which one to choose
- Write subqueries and common table expressions to break down a complex problem
- Use window functions to rank, accumulate and compare
- Create a table, and insert, update and delete data safely
- Connect an SQL database to Excel, Power BI, Python or R to take the analysis further
Who it is for
Target audience
The course is for anyone who currently depends on someone else to get their data: monitoring and evaluation officers, analysts, management controllers, information system managers, project officers, statisticians, junior developers, computer science, management or statistics students. The fee is the same for everyone, whatever the profession or organisation.
Prerequisites
Three requirements:
- Hold at least the baccalaureate, SQL being the most accessible of the languages covered in our courses
- Be able to think in tables: rows, columns, filters and groupings. Prior use of Excel, even modest, is more than enough
- Have a personal laptop, on which the database system will be installed during the first session
No programming experience is required. SQL is not a programming language in the usual sense: you do not describe a sequence of instructions, you describe the result you want. This is what makes it accessible to non-technical profiles, and why it is generally the best first step for anyone who wants to get closer to data.
Detailed program
5 sessions · 18 h of teaching
- What a relational database is and what sets it apart from an Excel workbook
- Table, row, column, data type: the fundamental vocabulary
- The primary key, the foreign key and the link between two tables
- Reading a database schema and finding where the information you need is stored
- Overview of systems: PostgreSQL, MySQL, SQL Server, Oracle, SQLite, and what they have in common
- Installing PostgreSQL and the DBeaver interface on each participant's computer
- Connecting to a database and browsing its structure
- The structure of a query and its reading order, which is not its writing order
- Selecting all columns, then only the ones you need
- Renaming a column in the result with an alias
- Sorting the result on one or more columns
- Limiting the number of rows returned
- Removing duplicates from the result
- Writing a comment in a query and why you should do it from the start
- Reading an SQL error message and fixing common syntax errors
- Guided exercise: extract five useful lists from a project monitoring database
- Filtering rows with a simple condition
- Comparison operators and logical operators
- Filtering on a list of values, a range, a text pattern
- Handling null values, the number one source of errors for beginners
- Combining several conditions and mastering parentheses
- Creating a calculated column in the result
- Text functions: concatenation, extraction, length, case, trimming spaces
- Numeric functions: rounding, absolute value, integer division
- Date functions: today's date, extracting the year and month, calculating durations and ages
- Type conversion and the pitfalls of text stored as numbers
- Conditional logic with CASE, the equivalent of the IF function
- Recoding a variable and creating bands directly in the query
- Handling missing values with COALESCE
- Guided exercise: produce an enriched, cleaned and categorised list of beneficiaries
- Aggregate functions: count, sum, average, minimum, maximum
- The difference between counting rows and counting non-null values
- Grouping by category and producing a summary
- Grouping on several columns at once
- Filtering before or after grouping, and why the distinction is essential
- Sorting an aggregated result and extracting a ranking
- Why data is spread across several tables rather than one
- The inner join, which keeps only the matches
- The left outer join, which keeps everything and reveals what is missing
- Right and full outer joins, and the rare cases where they are useful
- The cross join and its legitimate uses
- Joining a table to itself, as with staff and their line manager
- Chaining three, four or five tables in the same query
- Diagnosing a join that multiplies rows, the costliest mistake in analysis
- Combining the results of two queries with UNION
- Guided exercise: produce a consolidated monitoring table from five tables
- Subqueries in the filter, in the selection and in the source
- Correlated subqueries and their performance cost
- Common table expressions to break a complex query into readable steps
- Chaining several table expressions in the same query
- Window functions: the principle and what they make possible
- Numbering and ranking rows within a group
- Calculating a running total and a moving average
- Comparing a row with the previous or next one
- Relating a value to its group total without losing detail
- Creating a table and defining its columns, types and constraints
- Inserting data, one row at a time or in bulk
- Updating existing data, and the absolute precaution of the filter before an update
- Deleting rows safely, and the difference between deleting and truncating a table
- Creating a view to save a useful query and reuse it
- Indexes: what they are for and when a slow query needs one
- Readability best practices: indentation, naming, comments
- Guided exercise: build a reusable monthly reporting view
- Connecting an SQL database to Excel and refreshing data in a single click
- Connecting an SQL database to Power BI and choosing between import and DirectQuery
- Querying an SQL database from Python or R
- Cleanly exporting a result to CSV or Excel
- Writing a query meant to be read and taken over by someone else
- Security and caution: read-only rights, backups, what must never be run on a production database
- Group application: the group handles a complete request, from understanding the need to delivering the result
- Regular checkpoints to compare the queries produced and discuss differing approaches
- The trainer moves between workstations throughout the session
- Final summary: the method to apply to any new extraction request
Assessment and certification
There is no final assessment in this course. As the training is short and intensive, it aims to build practical skills, not to validate a level through an exam.
A training attestation is given to each participant at the end of the fifth session. It is issued by Waaldé Impact, signed by the trainer, and states the course title, the 18-hour duration, the dates and the list of modules followed.
Upcoming sessions
Next dates being prepared
Leave your email: we will let you know as soon as registration opens.
Frequently asked questions
69,000 XOF per participant. Training for a team or an organisation is quoted on request.
5 sessions, 18 hours.
Yes: you can attend onsite or online, as you prefer.
Three requirements: hold at least the baccalaureate, SQL being the most accessible of the languages covered in our courses ; be able to think in tables: rows, columns, filters and groupings. Prior use of Excel, even modest, is more than enough ; have a personal laptop, on which the database system will be installed during the first session ; no programming experience is required. SQL is not a programming language in the usual sense: you do not describe a sequence of instructions, you describe the result you want. This is what makes it accessible to non-technical profiles, and why it is generally the best first step for anyone who wants to get closer to data.
A certificate of attendance is issued at the end of the course.
Fill in the online enrolment request: no payment is taken on the site. The firm reviews your application, then contacts you to confirm your place and the payment terms. No session is scheduled yet: leave your email on this page to be told when registration opens.
Join the next cohort
Cohorts are deliberately small to guarantee genuine individual support. Reserve your place or ask us your questions.