Free online courseSQL for Beginners - MySQL and Database Fundamentals
Duration of the online course: 4 hours and 13 minutes
New
Free beginner SQL course with MySQL fundamentals: setup, SELECT filtering, joins, aggregates, subqueries, and data editing for real practice.
In this free course, learn about
Course Overview and SQL Learning Roadmap
SQL and Database Fundamentals
Environment Setup and Practice Database
SQL Coding Style and Readability
Querying Basics: SELECT and Core Clauses
Filtering Deep Dive: Operators and Pattern Matching
Combining Data: Joins, Aliases, and Set Operations
Aggregation, Grouping, and String Functions
Subqueries and Dynamic Filtering
Data Manipulation: Insert, Update, and Delete
Schema Design Basics: Creating Tables
Course Description
Learn SQL from the ground up with a free, beginner-friendly course focused on MySQL and core database fundamentals. Build a clear mental model of how databases store and organize data, how SQL works, and how to write queries that turn raw tables into useful answers.
Start by setting up your environment with MySQL and MySQL Workbench, then practice on a ready-to-use dataset to gain hands-on confidence. You will develop clean query habits and a professional SQL coding style while mastering essential clauses for retrieving, sorting, and filtering data.
Progress from foundational querying to combining and analyzing data across tables. Explore joins and how they differ from union operations, then work with aggregates, grouping, and filtering grouped results to produce meaningful summaries. You will also learn practical string functions and subqueries to solve more advanced problems.
Round out your skills with the commands used to insert, update, and delete records, plus table creation concepts that connect querying to real database workflows. By the end, you will be ready to read and write SQL with confidence for analytics, reporting, and everyday data tasks in a MySQL environment.
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?