
Data is information around us, from numbers to transactions, that we collect and store. As data volume grows, databases and SQL enable fast analysis and scalable queries.
Discover how databases serve as the memory center of our digital world, organizing data into tables and schemas, and enabling fast SQL queries.
Analyze data formats such as csv and json, and survey relational, columnar, document, graph, vector, and time series databases for diverse data needs.
Learn SQL, the structured query language, to talk to databases and query tables for fast insights. SQL powers dashboards, data pipelines, and enables careers from developers to marketers.
Install PostgreSQL on macOS by downloading the macOS 16.1 dmg from postgresql.org and running the interactive installer; include server, pgadmin four, and stack builder, then set the superuser password.
Install Postgres SQL and Pgadmin on Windows by running the installer, setting a password, and optionally using Stack Builder to add tools and plugins.
Download a dvd rental backup, create the dvd rental database in pgadmin, restore the backup, and explore 15 tables, views, and sample data via a simple actor query.
Restore a Postgres database from dot sql backup files by creating a new database, running schema.sql to establish the structure, and loading data via insert statements for the Pagila database.
Learn how to backup and restore the Northwind PostgreSQL database using the Northwind dot SQL file, create the database in pgadmin, run queries, and verify 14 tables.
Create base tables product, customer, and orders using the provided SQL script, insert records, and verify row counts in the environment.
Learn how to add new records to a database using the insert statement, including insert into syntax, column lists, value order, and multi-row inserts with a product table example.
Create an employee table in SQL with an integer primary key, a name field, and a ten-digit phone, then insert single or multiple records and verify row counts.
Learn how the select statement retrieves specific data from a product table, choosing exact columns like name and category, improving efficiency and controlling result order.
Discover how databases install on a server, organize data into tables of rows and columns, and use select queries in PostgreSQL via Pgadmin to retrieve specific columns or whole tables.
Explore how the sql distinct keyword removes duplicates to return unique values, such as categories and unique name and is_active combinations, and supports single columns, multiple columns, and calculated expressions.
Explore aggregate functions in SQL with practical queries on a product table, calculating count, min, max, and average of price, and using single queries to combine results in Postgres.
Explore SQL filters through the where clause, using comparison, logical, range, membership, and search operators to narrow results and boost query performance with indexes.
Learn SQL comparison operators as the building blocks of data filtering, including equal to, not equal to, greater than, and less than, with numeric, text, and date examples.
Explore sql logical operators and, or, and not to combine multiple conditions into precise or broader filters, using intersection and union concepts to refine product filters.
Master numeric filtering in sql by using the where clause to refine results on stock and price with equals, not equals, greater than, less than, and/or conditions.
Filter string columns with the sql where clause to refine results using equals, not equals, and combine conditions across product name and category with and or.
Master range operators in SQL with between, an inclusive filter for numbers, dates, times, and text. Write clear queries by applying proper bounds and using between for inclusive ranges.
Filter date columns with the where clause to retrieve orders on a specific date, using equals, not equals, greater than, less than, and/or across order date and product id.
Filter boolean data directly in SQL with the where clause to show active products, using is active equals true, 1, or not equals to true, and with category filters.
Learn to filter a single column with the in keyword to retrieve multiple values, such as stock values 15 or 0, or product names like laptop and monitor.
Discover how to filter using between on price ranges and order date ranges, with inclusive endpoints, and apply multiple value filters instead of or conditions on a single column.
Learn to filter string columns with sql like and wildcards, using starts with, ends with, contains, underscores, and percent signs on product names.
Learn how inner joins link the product and orders tables using a common key, such as product_id, to retrieve combined records while preserving data integrity.
Explore left join fundamentals by combining product and orders tables, showing all records from the product table with matched orders via on condition, and nulls for unmatched rows.
Understand the right join in SQL: retrieves all records from the right table and matching records from the left, filling nulls where no match, illustrated with product and orders tables.
Explore SQL views as virtual tables that simplify queries and secure data by showing only selected columns or rows. Create and use views to query subsets without altering the table.
learn how to create and use sql views like employee_view and employee_filtered_view, query them as base tables, and see updates when the underlying employee table changes.
Learn how the SQL union operator combines the result sets of two select statements, removes duplicates to keep unique rows, and merges employee records across sources.
Explore the SQL union all operator to combine results from two tables, showing how union all returns duplicates while union removes them, with multi-column examples.
Explore the upper and lower string functions in SQL to convert text to uppercase or lowercase, standardizing user input for case-insensitive searches in reports and product data.
Learn how split_part and replace in SQL transform text data by splitting strings on a delimiter and replacing characters, with examples parsing product names and cleaning names for structured data.
Explore the SQL concat function to merge text from multiple columns, control separators, and create readable outputs for product names, categories, and prices in reports.
Explore default values in sql by creating an employees table, using serial ids and a default name of unknown, and inserting records with and without names to observe defaults.
Learn to handle null in sql by creating an employee table with not null and null columns, inserting null values, enforcing constraints, and querying nulls and salary sums.
Explore case statements in SQL to apply conditional logic and categorize products by price and active status using simple and advanced cases, including or conditions.
Use the coalesce function to handle null values in SQL. See the employee table replacing null emails with 'no email' and null salaries with 0; it does not alter data.
Learn how the sql null if function replaces specific salaries with null to handle conditional null values and exclude them from calculations and reports, demonstrated with an employee table.
Create a sales table with sale_id as serial primary key, sale_date as date, product_name as varchar(100), and amount as decimal(10,2), then insert records and verify via select * from sales.
Explore casting and formatting date values in SQL by converting the order date and today's date with to_char, now, and cast to produce date-only or text representations in multiple formats.
Explore extracting day, month, year, day of week, and quarter from date fields using the extract function, and format dates with the two underscore character function for readable reports.
Explore date truncate to group data by month or year, calculate end of month with interval arithmetic, and use extract and interval operations for time series analysis.
Master inner queries in sql, using subqueries to filter data dynamically and locate specific products and orders by id, name, price, and sold status.
Explore inner queries and subqueries to filter data with a where clause, using inner results to learn when to use equals to or in, and ensure a single column mapping.
Explore common table expressions (ctes) in sql, enabling readable, reusable queries using temporary result sets referenced within select, insert, update, or delete statements.
Explore common table expressions (ctes) with filters in sql, using an active products example to show how to apply conditions inside the cte and query the results.
Explore common table expressions (ctes) and unions in sql with a product category example, comparing union and union all, and learn to define a cte using the with clause.
Explore recursive queries with a common table expression to generate numbers from 1 to 10, using a base case, union all, and a stop condition.
Discover recursive common table expressions in SQL by generating even numbers from 2 to 10 with a base case and union all, then query the results.
Generate the Fibonacci sequence in SQL with a recursive CTE, starting from n, a, b, and iterating via union all to reach the 10th position.
Explore recursive cte queries to build an employee hierarchy, retrieving direct and indirect reports with union all, tracking level, and identifying managers from hierarchy data.
Learn how to store multiple values in a single column using arrays in PostgreSQL, create array columns with square brackets, and retrieve values via array indexing.
Learn to apply aggregate functions to arrays in SQL, using array length to count values and unnest to sum marks for each student.
Explore how to use arrays in SQL with the all and any operators to filter on multi-valued columns, including combined conditions with and/or, as shown with a students table.
Discover how temporary tables boost performance in data-heavy systems by creating, populating, querying, and dropping session-based temp tables like temp_employee and temp_product.
Learn how to create and use temporary tables, such as updated_product, to store session data, run aggregates like max(stock), and filter with where clauses, noting they vanish after the session.
Learn to copy and back up SQL tables with create table as select and insert into, and create blank or electronics category subset tables from an existing product table.
Explore range partitioning to create date-based partitions for a sales table, routing data automatically to yearly partitions and boosting query performance on time-based data.
Insert data into a range partition table and rely on automatic routing by the partition key to the 2023 and 2024 partitions, validating with queries.
Learn how range partitioning uses partition pruning to scan only the relevant partition when filtering by the partition key, such as sale date.
Explore list partitioning in databases by region, creating a partitioned customers table and partitions for North and South to improve region-specific queries.
Insert data into the list partitioned customers table and observe automatic routing by the region column to the North and South partitions, with queries verifying partition placement.
Explore list partitioning and partition pruning by filtering on the region partition key to scan only relevant partitions, boosting SQL query performance.
Apply hash partitioning to evenly distribute data across partitions using a hash function on the customer_id column and modulus four, enabling load balancing and parallel queries.
Insert into a hash-partitioned orders table automatically routes records by customer_id hash, distributing data across partitions and mapping all hash values to partitions.
Utilize a default partition to catch data that falls outside existing partitions, ensuring resilient inserts and preserving data quality when unexpected regions appear.
SQL (Structured Query Language) is the industry-standard language for managing and analyzing data stored in relational databases. Whether you are a data analyst, business intelligence professional, marketer, product manager, student, or someone pivoting into tech, learning SQL can unlock the potential to extract meaningful insights from data.
This course is designed to take you from the very basics of SQL to advanced techniques used in real-world data analysis. No prior programming or database experience is required. You'll learn by doing—writing SQL queries against real datasets and solving analytical problems that reflect practical scenarios.
By the end of the course, you will not only understand how SQL works, but more importantly, you will be able to use it to answer complex business questions, clean and transform data, and create data-driven reports.
What You'll Learn
This course is structured to help you gradually build your skills, layer by layer, with a focus on analysis:
Getting Started with SQL
What is SQL and why it matters in data analysis
Understanding databases, tables, rows, and columns
Setting up your SQL environment (we will use a browser-based tool for easy access)
Writing your first SQL query
Core SQL Skills
Selecting data using the SELECT statement
Filtering results with WHERE conditions
Using comparison and logical operators
Sorting and limiting data using ORDER BY and LIMIT
Working with NULL values and handling missing data
Data Aggregation and Grouping
Counting, summing, averaging, and finding min/max values
Grouping data with GROUP BY
Filtering aggregated results with HAVING
Calculating percentages and ratios from grouped data
Joining Tables
Understanding relationships between tables
Inner joins, left joins, right joins, and full outer joins
Combining data from multiple tables to form complete views
Join best practices and avoiding common pitfalls
Data Cleaning and Transformation
Using CASE statements for conditional logic
Working with text using functions like UPPER, LOWER, SUBSTRING, REPLACE
Working with dates and times: extracting year, month, weekday
Removing duplicates with DISTINCT
Data type conversions and formatting
Advanced SQL for Analysis
Subqueries: writing queries within queries
Common Table Expressions (CTEs) for readable and reusable SQL
Window functions (ROW_NUMBER, RANK, LEAD, LAG) for advanced analysis
Analytical functions to calculate running totals, rolling averages, and more
Using COALESCE and NULLIF for data management
Real-World Analytical Scenarios
Cohort analysis to study user behavior over time
Funnel analysis for product and marketing optimization
Retention analysis and churn measurement
Sales and revenue trends using time series SQL
Customer segmentation based on behavior and attributes
Polars: The Next-Gen DataFrame Library
Introduction to Polars: Series, DataFrames, expressions, and lazy execution
Learn how Polars differs from Pandas—and why it's faster
Perform data cleaning, filtering, aggregation, and joins
Explore both eager and lazy APIs
Apply Polars in real-world analytical workflows
SQL + Polars: Hybrid Workflows
When to use SQL, when to use Polars—and how to use them together
Import data from PostgreSQL into Polars
Build complete data pipelines for analysis and reporting
Answer complex business questions using both tools
Create reproducible analysis in Jupyter Notebooks
Why This Course?
There are many SQL courses out there. This one is different because it focuses specifically on SQL for analysis, not just learning the syntax. You won’t be building or administering databases; instead, you’ll focus on asking and answering questions with data.
Whether you want to become a data analyst, prepare for interviews, or simply level up your analytical thinking, this course is built for you. It’s clear, practical, and based on real problems—not academic exercises.
Who Is This Course For?
This course is for anyone who wants to develop strong SQL skills for analyzing data. You do not need a computer science background or prior programming experience.
This includes:
Aspiring data analysts or data scientists
Business analysts and marketing professionals
Product managers and operations managers
University students and career switchers
Professionals who work with Excel and want to transition to databases
Anyone curious about how data analysis is done in the real world
All examples and projects use easy-to-understand datasets and are explained step-by-step, so even complete beginners can follow along.
Outcomes and Benefits
By the end of this course, you will:
Be able to write clean and efficient SQL queries
Understand how to connect multiple tables and extract meaningful insights
Know how to clean, filter, and transform data for reporting
Be comfortable performing analytical tasks like segmentation, trends, and cohort analysis
Build confidence to apply for data roles that require SQL
Add a highly marketable skill to your resume or portfolio
Whether you are preparing for a data analyst interview or looking to improve your decision-making with data, SQL is a critical skill that will serve you across industries.
What You Will Receive
Over 9 hours of video content
Downloadable notebooks and SQL scripts
Real datasets from different domains (sales, users, marketing, products)
Practice exercises and quizzes to test your knowledge
Certificate of completion
Lifetime access to course materials and future updates
Dedicated Q&A support to assist you on your journey
Final Note
Learning SQL is one of the smartest investments you can make in your career. It opens doors to roles in data, analytics, and technology, and it empowers you to make data-informed decisions wherever you are.
This course takes a practical, hands-on approach to mastering SQL for analysis—so that by the time you finish, you’re not just someone who knows SQL, but someone who can use SQL to think analytically and drive action through data.
Join today and take the first step toward becoming fluent in the language of data.