
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Master sql from basics to advanced techniques with animated visuals that reveal how sql works behind the scenes. Learn window functions, stored procedures, and indexes, and build a data warehouse.
Navigate a complete SQL roadmap from basics to advanced topics, covering querying, data definition and manipulation, joins, window and analytic functions, CTEs, views, optimization, AI prompts, and real-world projects.
Learn how databases store data securely and efficiently, and how SQL lets you talk to databases to ask questions and retrieve results.
Explore how databases store data, how multiple users and applications generate sqls, and how a database management system prioritizes and secures sql requests to a server or cloud environment.
Explore the five database types—relational, key-value, column-based, graph, and document—and understand how NoSQL fits alongside SQL relational databases such as Microsoft SQL Server.
Explore the three SQL command families—data definition language, data manipulation language, and data query language—covering create, alter, drop, insert, update, delete, and select.
Learn SQL to talk to data stored in databases, as SQL is in high demand and an industry standard across tools like Power BI, Tableau, Kafka, Spark, and Synapse.
Install SQL Server locally, set up SSMS, and connect to localhost SQL Express. Create databases using scripts, import data, or restore backups for practice.
Explore the basic components of SQL queries, including comments, clauses, keywords, functions, identifiers, operators, and static values, and see how select, from, and where shape data retrieval.
The lecture explains what an SQL query is, how to retrieve data from a database using select and from clauses, and that queries read data without modifying it.
Learn how SQL executes simple queries using select and from to retrieve all columns from tables like customers and orders, and refine results with specific columns and the where clause.
Master filtering data with the where clause using conditions such as score > 500 or country = 'Germany'. See how SQL uses from and select to return only matching rows.
Learn to use order by to sort SQL data, choosing ascending or descending, and apply nested sorting with multiple columns such as country and score.
Master the groupby operation to aggregate data from a table by a column, computing total scores by country with sum and count, using aliases and the having clause.
Learn how having filters after aggregation with group by, and how it differs from where. See examples of total scores by country and applying conditions to aggregated results.
Discover how distinct removes duplicates to yield unique values. See how distinct follows select and precedes from, and learn when it is costly.
Explore how the SQL top clause limits results by row count after select. Combine top with order by to fetch the highest or lowest scores and the most recent orders.
Compare the coding and execution order of a SQL query, starting with select, then distinct and top, with from, where, groupby, having, and order by in execution.
Master running multiple queries in one window with semicolon separators and viewing separate result grids, including mixing static values with table data. Also learn to run only highlighted query parts.
Learn to create a table with defined columns and constraints using ddl, assign a primary key, and generate the corresponding create statement for a table named persons.
Learn how to alter an existing table to add a new column and drop a column, including defining a varchar(50) not null email and removing the phone column.
Learn how the drop command removes a table and its data, illustrated by dropping the table persons, and why dropping is simple yet risky in the ddl.
Insert data into tables using insert into with optional column lists and values, including multiple rows and nulls, and understand not null constraints when inserting.
Use the update command to modify existing rows by setting new values and applying a where clause. Update single or multiple rows, handle null values, and verify with select.
Learn how to delete rows safely with delete from, using where clauses to target subsets, and compare delete versus truncate for efficient data removal in SQL.
Explore SQL comparison operators to build conditions, then combine them with logical operators, use between, in, not in, and search operators, including subqueries in where clauses.
Master the and operator by combining multiple where conditions, requiring both predicates to be true, as demonstrated with USA and score above 500 in the customers data.
Master the or operator in SQL by understanding that at least one condition must be true to keep a row, enabling queries like customers from USA or score over 500.
Harness the not operator as a reverse, single-condition tool that excludes matching values and flips true to false. Learn its use with score not less than 500 and between operator.
Use the between operator to check if a value lies within an inclusive range. Learn how to use lower and upper boundaries and alternative >= and <= approach in SQL.
Understand how the in operator checks if a value belongs to a list and how not in reverses it, with examples selecting customers from Germany or USA.
Explore the SQL like operator to pattern search text with % and _, including starts with, ends with, and contains. See examples filtering customers by first name.
Learn how to join two tables with sql joins, using left and right tables, apply set operators for stacked rows, data enrichment with master and lookup tables, and existence checks.
learn how to query two tables without joining them by using two separate select statements to retrieve all customers and all orders in two results.
Learn how inner join returns only matching rows from two tables, using a join condition on common keys to combine data from customers and orders.
Learn how left join returns all rows from the left table and only matching rows from the right. Use customers and orders to see how nulls appear for unmatched records.
Explore the right join, which returns all rows from the right table and only matching rows from the left; learn syntax, table order, and practical examples with customers and orders.
Learn how a full join returns all rows from both tables, including unmatched rows with nulls, and that the order of tables doesn't matter, unlike inner, left, or right joins.
Master the left anti-join by joining left and filtering where the right key is null to fetch left-side rows with no matches, illustrated with customers who haven't ordered.
Understand the right anti join, returning rows from the right table with no match in the left, using a where clause to find orders without matching customers.
Understand full anti join by using a full join and null checks to show unmatching data, including customers without orders and orders without customers.
Use the cross join to generate every possible combination of two tables, creating a Cartesian join result, suitable for test data or simulations, such as customers with orders.
Compare inner, left, full joins and left anti-join to handle matching, all, or unmatching data, and discover why left join is the favored choice.
Master a multi-table join by starting from the main table and left joining customers, products, and employees in the sales db; use where and aliases to refine results.
Explore how to combine rows from two tables using set operators, including union, union all, except, and intersects, with a deep dive into these row-based operations.
Explore the syntax of set operators in SQL, combining two selects with union and others. Remember end order by placement and ensure matching column counts and data types.
Learn how the union operator combines two queries into one results set, removing duplicates and mapping fields like first name and last name from customers and employees.
Compare union all and union to understand how union all returns all rows with duplicates and offers faster performance; apply it for data quality checks and when duplicates matter.
Learn how the SQL except operator returns distinct rows from the first query that are not found in the second, with the order of queries shaping the result.
Learn how the SQL intersect operator returns only the rows common to two queries, eliminating duplicates, with practical examples showing common employees and customers.
Use set operators to combine similar tables into one source table for data analysis or engineering, using union to avoid duplicates and listing explicit columns with a source column.
Use the accept set operator to detect delta between daily loads and prior data, enabling incremental loading and data migration checks for completeness across databases A and B.
Explore set operators that combine rows from multiple queries into one result, including union, union all, except, and intersect, with SQL rules and practical use cases.
Learn how to transform messy data into analysis-ready data using SQL, covering string, number, and date functions, handling nulls and missing values, and using case statements to standardize data.
Explore how SQL functions transform, cleanse, and analyze data using single row and multi-row operations. Learn nesting, string functions, aggregates, and analytical window functions to prepare for analysis.
Learn to manipulate strings by grouping functions, then use concat to combine first name and country into one name country column with a space; explore upper, lower, replace, and substring.
Learn how to use upper and lower in SQL to transform text to uppercase or lowercase, with first name examples. Then explore the trim function.
Master the trim function to remove leading, trailing, and multiple spaces, cleanse data, and detect hidden white spaces using where clauses and length comparisons.
Master the SQL replace function to swap old values for new ones, remove characters by replacing with nothing, and apply changes to dashes and file extensions.
Master the sql len function to count characters in strings, numbers, and dates, returning a numeric length for any value, and learn how left and right extract parts of string.
Explore SQL string manipulation with left (lift) and right functions to extract characters from the start or end of values, using trim and substring techniques.
Master how to use SQL substring to extract a middle portion by starting position and length, with dynamic length using the total characters after trimming whitespace.
Apply SQL number functions to transform numeric values using round to various decimal places and absolute to convert negatives to positives, with practical examples.
Learn how date, time, and timestamp in SQL Server represent year-month-day, hours:minutes:seconds, and their combination as date time; see order date, ship date, and creation time.
Learn to manipulate date and time in SQL by extracting year, month, and day; changing formats; performing date add and date diff calculations; and validating dates with key functions.
Learn to extract day, month, and year from a date using the day, month, and year SQL functions and apply them to a creation time column.
Learn to use date part to extract year, month, day, week, quarter, hour, weekday, and other parts from dates, with integer outputs for reporting and analysis.
Use date name to get human readable parts from dates, such as month and weekday names. Contrast date name with date part to improve reports like sales by month.
Explore how date_trunc controls time granularity by truncating dates to year, month, day, hour, and more, enabling flexible grouping and aggregation with group by.
Explore how the end of month function returns the last day of a date, with examples like August 2025, February 2025; learn to cast to date for clean reporting.
Explore why extracting date parts matters for aggregations and reporting, showing how to group by year, month, and date name, and filter orders in February efficiently.
Explore how date parts like day, month, year, date name, and date trunk yield integers or strings, and decide when to use each function for formatting and casting date data.
Learn how SQL handles date formats and format specifiers, including year-month-day order and case sensitivity, then format dates with format or convert and cast data types.
Learn to format dates and numbers in sql using the format function. Build custom date formats, culture-aware styles, and practical examples for reporting and aggregations.
Learn to use the SQL convert function to cast data types and format values with style options, with examples like string to integer and date time to date.
Learn how the cast function converts values between data types using the as syntax, with examples from string to integer and string to date, and compare with convert and format.
Learn how date add manipulates years, months, and days by adding or subtracting intervals from dates, with examples like adding three years, two months, or five days.
Learn to use date diff with its three-parameter syntax to compute differences between two dates in years, months, or days.
Discover how the isdate function validates values as dates, returning 1 for valid dates and 0 for invalid ones, and how to use it for data cleaning and safe casting.
Explore 13 SQL date and time functions to extract parts, format dates, convert data types, and perform date arithmetic, including date diff and null functions.
Explore how null values represent unknown data in SQL, and learn to replace or check them using null, coalesce, and isnull (or is null) to manage database values.
Explore is null and coalesce in SQL, replacing nulls with a default or another column, understand first non-null value, compare two-value isnull with multi-value coalesce, and note cross-database behavior.
Handle nulls before data aggregations in SQL by replacing nulls with zero via coalesce or is null, and use window functions to compare average, sum, count, min, and max.
Learn to handle nulls before math operations using coalesce or Isnull, build safe full names by concatenating first and last names, and apply a ten-point score bonus.
Learn to handle nulls in join keys with coalesce or Isnull to avoid missing records when joining tables; replace nulls with a default value to ensure accurate results.
Learn how to handle nulls when sorting data in SQL. Explore lazy coalesce methods and a professional case-based flag approach to push nulls to the end while preserving data integrity.
Learn how the nullif function compares two values and returns null if equal, otherwise the first value, with examples using columns or static values. Use it to avoid divide-by-zero errors.
Learn how to use is null and is not null to test for missing values, and apply isnull with joins to find missing data such as scores or orders.
Clarify the differences between null, empty string, and blank spaces in SQL; show how length reveals empty vs space strings and discuss data quality, storage, and search implications.
Learn to handle nulls, empty strings, and blanks by defining data policies, cleaning data with trim, and using nullif and coalesce to prepare reliable data for analysis and reporting.
Understand how null values affect SQL queries and performance. Use coalesce, isnull, and nullif to replace or manage nulls before aggregations, joins, and sorting, then apply case statements for transformations.
The most visual and complete SQL course on the internet — built by a real data professional.
This isn’t your average SQL course with boring slides and textbook examples.
This is a fully animated, hands-on SQL bootcamp where you’ll not only learn how to write SQL — you’ll actually see how SQL works behind the scenes through 200+ custom-made animations, hand-drawn to help you truly understand each concept at its core.
This course is based on over 17 years of real-world experience working with data at top global companies like Mercedes-Benz and Bosch. Every lesson, project, and topic comes directly from real enterprise use cases — not academic theory.
Whether you're an absolute beginner or someone looking to level up, this course is designed to take you from zero to hero in SQL.
If you’ve never written a line of SQL, don’t worry - everything is explained from scratch, step by step. You’re not too old or too young — SQL is one of the easiest and most rewarding skills you can learn.
What makes this course truly unique:
200+ visual animations that make even complex SQL concepts easy to understand
Built by a senior data expert with over 17 years in the industry — not a generic instructor
Real-world projects based on tasks I’ve personally handled in enterprise environments
Covers everything in SQL — from the absolute basics to advanced topics like Window Functions, CTEs, Query Optimization, SQL Warehousing, and Advanced Analytics
Practice with real scenarios to go from beginner to job-ready with confidence
Topics covered in this complete course :
Introduction: Learn what SQL is, why it matters, how databases work, and how to set up your full SQL environment.
Querying Data (SELECT): Master SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, DISTINCT, TOP, and query execution order.
Data Definition (DDL): Create, modify, and remove database objects using CREATE, ALTER, and DROP commands.
Data Manipulation (DML): Add, update, and delete records using INSERT, UPDATE, and DELETE with real-world logic.
Filtering Data: Use comparison and logical operators like AND, OR, NOT, BETWEEN, IN, and LIKE to filter data effectively.
Combining Data: Join and merge tables using INNER, LEFT, RIGHT, FULL, CROSS joins and SET operations like UNION, INTERSECT.
Row-Level Functions: Use string, numeric, date, null-handling functions, and CASE expressions to transform your data.
Aggregation & Analytics: Apply aggregate functions and advanced window functions like RANK, DENSE_RANK, LAG, and LEAD.
Advanced SQL Techniques: Work with subqueries, CTEs (recursive and non-recursive), views, temp tables, procedures, and triggers.
Performance Optimization: Improve query speed using indexes, partitions, and practical performance tips.
AI & SQL: Use ChatGPT and GitHub Copilot to generate, explain, optimize, and debug SQL — plus translate and document code.
Hands-On Projects for Real Experience:
Watching tutorials is not enough – that’s why this course is packed with practical projects so you can immediately apply your new skills in real-world scenarios. Each project is designed to mirror actual work done by professionals:
SQL Data Warehouse: Design and implement a full-scale SQL data warehouse from scratch, just like you would in a real enterprise environment.
SQL for Data Analysis (EDA): Use SQL to perform exploratory data analysis on real datasets, extracting insights and creating reports as a data analyst would.
Advanced Query Optimization: Tackle complex query challenges and practice performance tuning on large datasets to simulate high-pressure, real-world scenarios.
Important Note on Databases
The course files include datasets for multiple database systems (SQL Server, MySQL, PostgreSQL, etc.).
This course mainly focuses on SQL Server (which runs only on Windows).
If you’re on Mac, you can still follow along by using MySQL or PostgreSQL — the SQL concepts are the same.
The goal of this course is to help you understand SQL concepts and how to apply them in real projects, regardless of the specific database.
By completing these projects, you'll translate theory into practice. You’ll not only reinforce your learning, but also build a portfolio of job-ready examples to show future employers.
Don't miss out on the chance to master SQL, the skill that will set you apart in the job market and propel your career to new heights. Enroll now and unlock the potential of your data with SQL expertise!