Free online course SQL for Beginners - MySQL and Database Fundamentals
Duration of the online course: 4 hours and 13 minutes
New
Build job-ready SQL skills fast with this free online course: learn MySQL basics, query data, join tables, and analyze results with hands-on practice.
In this free course, learn about
What SQL is, how it works, and why it’s valuable for data and business use cases
How databases/schemas and tables are structured; primary keys and core table components
SQL command types: DDL, DQL, DML, DCL, TCL; which ones define structure vs modify data
Setting up MySQL + Workbench, loading a practice dataset, and refreshing schemas in the UI
Professional SQL style: consistent formatting, clear naming/aliases, and readable query layout
Writing SELECT queries with DISTINCT, ORDER BY, WHERE, and comparison/logical operators
Filtering techniques with BETWEEN, IN, and LIKE patterns for ranges, sets, and text matching
Combining tables using JOINs: INNER, LEFT, RIGHT; and simulating FULL OUTER JOIN in MySQL
Difference between JOIN vs UNION/UNION ALL and when to use each
Aggregations: COUNT/SUM/AVG/MAX/MIN with GROUP BY and HAVING for post-aggregate filtering
Using subqueries with IN and EXISTS for dynamic filtering based on related table conditions
Changing data safely with INSERT, UPDATE (with precise WHERE), DELETE, and TRUNCATE best use
About the free online course
SQL is one of the most valuable skills you can add to your toolkit if you work with data, build software, or want clearer answers from the information your organization already stores. This beginner-friendly course helps you go from zero to confidently reading and writing queries in MySQL, while also understanding the database fundamentals that make those queries work in real projects. Instead of memorizing syntax in isolation, you will learn how data is structured, how tables relate to each other, and why good query habits matter when your datasets grow.
You will start by building a solid mental model of how databases organize information, including core concepts like tables, rows, columns, schemas, and keys. With that foundation, you will be able to write cleaner SQL and avoid common mistakes that lead to confusing results. As you progress, you will practice retrieving data with SELECT, refining results with filtering and sorting, removing duplicates, and applying comparison and logical operators to answer precise questions. Along the way, you will develop a more professional coding style, making your SQL easier to read, maintain, and share with teammates.
A key turning point for many learners is learning how to combine information across multiple tables. This course guides you through joins and related concepts so you can connect customers to orders, match records correctly, and understand what each join returns. You will also build analytical skills using aggregate functions, grouping, and post-aggregation filtering, which are essential for reporting and data-driven decision-making. When you are ready to go beyond basic queries, you will explore subqueries and practical approaches for writing dynamic filters that keep your logic flexible as your data changes.
To make the learning experience practical, you will set up MySQL and a working environment, install a sample dataset, and immediately apply each concept in real query scenarios. By the end, you will be comfortable performing the day-to-day database tasks many roles rely on, including inserting, updating, and deleting data safely, as well as creating tables with the right structure. Whether you are aiming for your first role in analytics, improving your backend development skills, or simply want to understand data better, this free online course gives you a clear path from fundamentals to confident SQL execution in MySQL.
Course content
Video class: The Ultimate Full SQL Course - MySQL Tutorial For Beginners02m
Exercise: What is one unique focus of this SQL course besides writing SQL queries?
Video class: SQL Roadmap For Beginners - SQL Course Curriculum02m
Exercise: Which set of SQL statements is used to modify data inside existing tables?
Video class: Introduction to SQL - How SQL Works? - SQL Tutorial #106m
Exercise: What best describes SQL in the context of working with databases?
Video class: 5 Reasons Why Everyone Should Learn SQL - SQL Tutorial #204m
Exercise: Which option best summarizes why learning SQL is still a smart move?
Video class: How Databases Organize Data? - SQL Tutorial #304m
Exercise: In MySQL, what is the relationship between a database and a schema?
Video class: Understanding SQL Tables: Components and Structure - SQL Tutorial #403m
Exercise: In an SQL table, what is a primary key?
Video class: Types of SQL Commands (DDL, DQL, DML, DCL, TCL) - SQL Tutorial #504m
Exercise: Which SQL command group is used to define or change the database structure (e.g., create/alter/drop tables)?
Video class: The Basic Elements of SQL Statement - SQL Tutorial #604m
Exercise: In an SQL statement, what is the main purpose of an SQL comment?
Video class: Download and Install MySQL: Step-by-Step Instructions - SQL Tutorial #706m
Exercise: During MySQL installation on Windows, which setup type is selected to keep the default components for learning and development?
Video class: MySQL Workbench: Interface Tour - SQL Tutorial #805m
Video class: Install Database and Dataset to Practice SQL - SQL Tutorial #904m
Exercise: After running the SQL script in MySQL Workbench, what should you do to see the newly created tutorial database in the left panel?
Video class: Top 3 Simple Rules for a Professional SQL coding Style - SQL Tutorial #1005m
Exercise: Which set best represents the three golden rules for writing readable SQL?
Video class: SQL SELECT statement Explained - SQL Tutorial #1107m
Exercise: Which SQL query correctly retrieves only the first_name and country columns for all rows in the customers table?
Exercise: Which keyword is used in a SELECT statement to remove duplicate values from the query results?
Video class: SQL ORDER BY - Sort your Results - SQL Tutorial #1309m
Exercise: Which SQL clause is used to sort query results so the smallest score appears first?
Video class: SQL WHERE - Filtering Query Results - SQL Tutorial #1406m
Exercise: Which SQL query correctly lists only customers from Germany?
Video class: SQL Comparison Operators Explained - SQL Tutorial #1507m
Exercise: Which WHERE condition correctly returns all non-German customers?
Video class: SQL Logical Operators: AND, OR, NOT Explained - SQL Tutorial #1611m
Exercise: In a WHERE clause, when does the SQL logical operator AND return TRUE?
Video class: SQL BETWEEN - Filtering Data within a Rang - SQL Tutorial #1706m
Exercise: In SQL, what does the BETWEEN operator do in a WHERE clause?
Video class: SQL IN Operator - Filter Data in a Set of Values - SQL Tutorial #1805m
Exercise: What is the main purpose of the SQL IN operator in a WHERE clause?
Video class: SQL Like Operator - Searching and Filtering Data - SQL Tutorial #1912m
Exercise: In a WHERE clause, which LIKE pattern finds first names where the third character is 'r' and any characters can follow?
Video class: SQL JOINS Explained - Concept of Combining Data - SQL Tutorial #2005m
Exercise: In SQL, what does an INNER JOIN return when combining two tables?
Video class: SQL Alias - AS Statement - SQL Tutorial #2104m
Exercise: Why are table aliases useful when querying multiple tables in SQL?
Video class: SQL INNER JOIN - SQL Tutorial #2208m
Exercise: Which JOIN type should you use to return only customers who placed orders (excluding customers with no orders)?
Video class: SQL LEFT JOIN - SQL Tutorial #2303m
Exercise: In MySQL, which JOIN returns all rows from the left table and only matching rows from the right table (showing NULLs when there is no match)?
Video class: SQL RIGHT JOIN - SQL Tutorial #2402m
Exercise: In a RIGHT JOIN between Customers (left table) and Orders (right table), what rows are guaranteed to appear in the result?
Video class: SQL FULL OUTER JOIN - SQL Tutorial #2504m
Exercise: How can you replicate a FULL JOIN in MySQL to include all customers and all orders?
Video class: Difference Between SQL Joins, Union, and Union All - SQL Tutorial #2610m
Exercise: Which statement best describes how UNION works in SQL compared to JOIN?
Video class: SQL Aggregate Functions: COUNT, SUM, AVG, MAX, MIN - SQL Tutorial #2712m
Exercise: In MySQL, what is the key difference between COUNT(*) and COUNT(column_name) when the column contains NULL values?
Exercise: Which SQL function removes whitespace from both the beginning and end of a string?
Video class: SQL GROUP BY Clause - SQL Tutorial #2908m
Exercise: In SQL, where should the GROUP BY clause be placed when a WHERE clause is also used?
Video class: SQL HAVING Clause - SQL Tutorial #3006m
Exercise: Which SQL clause should you use to filter results after using GROUP BY when the condition is based on an aggregate function like COUNT(*)?
Video class: SQL Subquery using EXISTS and IN - SQL Tutorial #3110m
Exercise: Which SQL approach is recommended when filtering orders by customers with score > 500 while keeping the query dynamic (no manual customer ID list)?
Video class: SQL INSERT - Inserting data into Database - SQL Tutorial #3215m
Exercise: Which set of SQL commands belongs to DML (Data Manipulation Language) for changing table data?
Video class: SQL Update - Modify Data in Database - SQL Tutorial #3306m
Exercise: What is the safest way to update only one customer’s country using SQL?
Video class: SQL DELETE - Delete Data from Database - SQL Tutorial #3404m
Exercise: Which command is best practice for quickly removing all rows from a large table when you want to keep the table structure?
Video class: SQL CREATE TABLE - SQL Tutorial #3510m
Exercise: When creating a table in MySQL, which set of information must be defined for each column?
The course covers database fundamentals, MySQL installation and Workbench, SELECT queries, filtering, sorting, joins, aggregates, subqueries, and data-definition and data-manipulation commands.
How do INNER JOIN, LEFT JOIN, and RIGHT JOIN differ in MySQL?
INNER JOIN returns matching rows only; LEFT JOIN retains every row from the left table; RIGHT JOIN retains every row from the right table, using NULLs where no match exists.
Does the course explain how to safely update or delete MySQL data?
Yes. It covers INSERT, UPDATE, DELETE, and TRUNCATE, including using precise WHERE conditions to limit changes to the intended rows.
Ready to get started?Download the app and get started today.