
Explore duckdb, an open source in-memory analytics database optimized for OLAP with columnar storage and vectorized SQL, offering zero configuration embeddability, ACID transactions, and cross-language support.
Explore why DuckDB offers an embedded, serverless analytics database with columnar storage and vectorized execution. See Parquet and CSV querying, SQL compatibility, and pandas or PySpark integration for fast analytics.
Install duckdb on macOS using Homebrew, clone the repository, build with ninja, and explore the latest version via the command line or a SQL editor.
Install DBeaver on Mac, choose Apple Silicon, and launch from the dmg. Create a DuckDB connection and a .db file, then use the SQL editor and worksheet.
Download the Windows executable for Duckdb, extract the zip, add the extracted path to the environment variables, and verify installation by running Duckdb and show table in the command prompt.
Install DBeaver on Windows and connect to a DuckDB database using the community edition, configuring the database path and viewing objects in the navigator.
Explore DuckDB's single .db file architecture with columnar, zero-copy storage for analytics; learn about WAL, vectorized processing, ACID transactions, schema evolution, and external data integration.
Explore the differences between in-memory and persistent databases in Duckdb, comparing performance, durability, memory management, and practical use cases from data exploration to production.
DuckDB provides lightweight, serverless embedded analytics for SQL over file formats, and pandas/polars integration, with vectorized, parallel execution for OLAP; it isn't suited for OLTP, real-time streaming, or distributed scale.
Create and define an employee table with id, name, and phone columns, then insert single and multiple rows using insert into, and verify results with a select.
Learn to create and drop tables in DuckDB SQL by building an employee table with ID, name, and address columns, then safely remove it with a drop table command.
Explore how Mother Duck extends Duckdb to handle larger data sets and enable collaboration in the cloud. Set up an account, navigate the dashboard, and run a create database query.
Install DuckDB with homebrew on Mac, launch the local ui, attach a database (memory database option), and use the web-based sql editor to run queries.
Create the sales database and product table, set product_id as a primary key with a starting sequence, and use limit and offset to fetch the first five records.
Learn how default values work in SQL tables. Create a sequence and an employees table, showing ID auto generated and default unknown for missing name.
Detach from Mother Duck cloud services to disconnect a database using the detach command, then verify databases in the terminal and UI and view tables in the sales database.
Learn to run select queries in DuckDB to fetch specific columns or all data, and apply upper and lower functions for case-insensitive searches and data standardization.
Master DuckDB string functions by using upper and lower to standardize text and split_part to extract email domains, enabling case-insensitive comparisons and clean data in practice.
Explore distinct in SQL to retrieve unique categories from a product table, remove duplicates, and count distinct records for better data analysis.
Master DuckDB aggregate functions on product data, using select star from product, count star, min price, max price, and average price, and learn about user defined functions.
Explore DuckDB aliases to alias columns and tables, using as to rename product name to name and product id to id, and alias the product table as P.
Learn how the DuckDB concat function merges text from multiple columns, such as product name, category, and price, and how to add separators for readable outputs.
Create an employees table with id, name, phone, salary stored as a string, and email to demonstrate data type casting in SQL. Cast salary to float for math operations.
Explore how the where clause filters data in SQL queries, using stock and price to show equals, not equals, greater than, and less than conditions, with and/or combinations.
Filter string columns with the where clause to retrieve specific records, using equals, not equals, and or conditions across product name and category in DuckDB.
Filter date columns with the where clause in sql, using the orders table and order date 1st january 2024. Apply equals, not equals, greater than, and less than conditions.
Explore how to filter boolean columns with the where clause in sql, using true and false values, and combine conditions with and or to retrieve active products by category.
Master the between operator in DuckDB by filtering product prices from 50 to 200 and orders between January 1, 2024 and January 5, 2024, including endpoints.
Explore how the between keyword filters price values in DuckDB, with examples from 10 to 20, reverse ranges, negative ranges, and multiple columns where is active equals to false.
Learn how to filter by multiple values using the IN keyword in SQL, retrieving products by stock or name from a product table with concise in clauses.
Explore how the where clause in sql filters string columns with the like keyword, using percent and underscore to match starts, ends, and in-between letters.
Explore how null values affect SQL by creating an employee table with not null constraints, inserting and updating records, and using is null and is not null in queries.
Explore the SQL order by clause to sort data, from alphabetical product names to numeric prices, including multi-column sorting in ascending and descending order.
Learn to use the group by clause in DuckDB to group rows by category and apply aggregates like max, min, sum, and count, including grouping by multiple columns.
Master the group by and having clause in DuckDB, using sum(price) and total stock to filter categories with total price over 500 and stock over 20.
Learn to apply the where clause to group by queries, filtering products by price greater than 200 and active status, so only active groups meet both conditions.
Explore the group by SQL concept through experiments with aggregate functions and category-based sums, uncovering common errors and how multiple columns and data types affect grouping.
Master the coalesce function to handle null values in SQL, replacing missing emails with no email and null salaries with zero, shown on an employee table, non-destructively.
Learn to use the null if function in SQL to replace specific values with null and filter out salaries from calculations, demonstrated on an employee table in DuckDB.
Description: Mastering DuckDB – Fast, Lightweight Analytics for Modern Data Workflows
DuckDB is a modern, high-performance SQL OLAP database designed for lightning-fast analytics, yet lightweight enough to run entirely within your application, Jupyter notebook, or Python script. With zero setup, zero servers, and near-instant performance, DuckDB is revolutionizing how we interact with local data.
Whether you're a data analyst exploring CSV files, a data engineer building ETL pipelines, or a data scientist running experiments on structured data — DuckDB will save you time, effort, and frustration. This course is your complete guide to mastering DuckDB from scratch, with hands-on exercises, real-world projects, and expert insights.
What You Will Learn
This course is designed to take you from the basics to advanced use cases with DuckDB. Here’s a detailed overview of what you’ll gain:
Introduction to DuckDB
What is DuckDB and why is it gaining popularity?
OLAP vs OLTP – and where DuckDB fits in
How DuckDB compares to SQLite, Pandas, Postgres, and big data tools
Installing DuckDB across platforms (Windows, Mac, Linux)
Using DuckDB via CLI, Python, Jupyter, and SQL
Getting Started with SQL in DuckDB
Creating databases and running queries
Filtering, aggregations, group by, joins, and subqueries
Window functions, CTEs (Common Table Expressions), and date/time functions
Creating views and temporary tables
Using SQL for data exploration, profiling, and reporting
Querying Data Files Directly (No Import Required!)
Querying CSV files directly from disk with SQL
Working with large Parquet files — efficiently and fast
Integrating with Apache Arrow
Using DuckDB to read/write JSON, Excel, and other formats
Combining multiple files into a single virtual table using wildcards
DuckDB + Python Integration
Setting up DuckDB in a Python environment
Running SQL queries on DataFrames without conversion
Writing SQL queries as part of your Python data pipeline
Efficient data transformations without loops or apply()
DuckDB in Jupyter Notebooks
Magic commands for fast SQL in notebooks
Exploring datasets directly in notebooks using SQL + Python together
Ideal workflow for data science projects
Performance, Best Practices & Optimization
Vectorized execution and columnar storage explained
When to use DuckDB vs Pandas or SQL databases
Performance tuning: batching, lazy evaluation, efficient file access
Memory management and handling large datasets
Advanced Capabilities:
Implement DuckLake for enterprise-grade data management
Perform time travel queries for historical analysis
Build robust error handling with TRY expressions
Use lambda functions for complex data transformations
Optimize memory usage and query performance
Enterprise Features:
Set up cloud-based data lakes with AWS S3 integration
Manage data versioning and snapshots
Implement ACID transactions across multiple tables
Monitor and debug using metadata tables
Design scalable data architectures
Who This Course is For
This course is for anyone who works with data and is looking for a better, faster, and simpler tool for analytics:
Data Analysts: Tired of slow CSV loads or limited Excel capabilities? DuckDB will transform the way you explore and analyze data.
Data Scientists: Quickly explore, clean, and process data with SQL directly in your notebook.
Python Developers: Use SQL without a full database backend, right inside your script or application.
Data Engineers: Simplify your pipelines by removing unnecessary database dependencies and using DuckDB to process raw files.
Students/Learners: If you’re new to databases or SQL, this is a great entry point with modern tooling and hands-on projects.
No prior experience with DuckDB is required. Basic familiarity with SQL or Python will be helpful, but we start from the ground up.
Tools & Technologies Covered
DuckDB CLI and embedded usage
DuckDB with Python & Pandas
DuckDB in Jupyter Notebook
CSV, Parquet, Arrow, JSON handling
SQL (basic to advanced)
Optional: Integration with Streamlit for dashboards
Why Learn DuckDB?
DuckDB is rapidly becoming a must-have tool in the modern data stack. Here's why:
Zero Setup: No server, no deployment, just run it and go.
High Performance: Easily handle millions of rows locally.
Embedded & Portable: Run inside notebooks, scripts, or even desktop apps.
SQL-Powered: Ideal for analysts and anyone who loves SQL.
File-Native: Work directly with Parquet, CSV, and more — no database needed.
Open Source & Evolving: Constantly improving and growing with the community.
Learning DuckDB now puts you ahead of the curve, as more companies and teams start to adopt it for local-first, scalable analytics.
What You'll Get
6+ hours of video lectures
Downloadable notebooks and datasets
Hands-on projects and exercises
Quizzes to test your understanding
Certificate of completion
Ready to Master DuckDB?
By the end of this course, you'll be confident using DuckDB in your data projects — whether you're exploring data files, building ETL pipelines, or combining SQL with Python for fast analytics.
Join us and learn how DuckDB can make your data work faster, easier, and more fun.
Let’s dive in and make analytics delightful again — with DuckDB!