14 answers
Asked
6323 views
What are the best resources/platform to learn and practice SQL specifically for preparing to work with dbt (Data Build Tool) ?
Would love to hear from anyone who's already working in this field or has gone through the learning process.
Your suggestions and experiences would be really helpful..
thank you in advance! 😊
Login to comment
14 answers
Updated
Paul’s Answer
Here are some great resources to help you learn dbt and SQL in a friendly way:
1. dbt-Specific Resources
- dbt Learn: Visit learn.getdbt.com for interactive courses that teach SQL, Jinja (the language dbt uses), and dbt workflows. Perfect for beginners.
- dbt Documentation & Tutorials: Check out the official dbt docs and YouTube channel for practical examples and guides.
2. SQL Practice Platforms
- Mode SQL Tutorial: A beginner-friendly tutorial that covers real-world analytics, similar to what you’ll do in dbt projects.
- LeetCode (SQL Section): Offers a variety of SQL problems with instant feedback, from easy to hard.
- SQLBolt: Provides interactive lessons and exercises to build basic SQL skills.
- Kaggle (SQL Notebooks): Features hands-on SQL exercises with real datasets, great for analytics.
3. Practice with DBT-Style Projects
- dbt Labs’ Jaffle Shop Tutorial: A step-by-step guide to creating a dbt project from scratch, including writing SQL models.
- Mock Data Warehouses: Set up a free database like BigQuery Sandbox, Snowflake Free Trial, or PostgreSQL and practice writing dbt models with your own SQL queries.
4. Community & Additional Resources
- dbt Community Slack: Join to ask questions, share resources, and learn best practices.
- YouTube Channels: Channels like Data with Danny and Data School often discuss SQL and dbt topics.
1. dbt-Specific Resources
- dbt Learn: Visit learn.getdbt.com for interactive courses that teach SQL, Jinja (the language dbt uses), and dbt workflows. Perfect for beginners.
- dbt Documentation & Tutorials: Check out the official dbt docs and YouTube channel for practical examples and guides.
2. SQL Practice Platforms
- Mode SQL Tutorial: A beginner-friendly tutorial that covers real-world analytics, similar to what you’ll do in dbt projects.
- LeetCode (SQL Section): Offers a variety of SQL problems with instant feedback, from easy to hard.
- SQLBolt: Provides interactive lessons and exercises to build basic SQL skills.
- Kaggle (SQL Notebooks): Features hands-on SQL exercises with real datasets, great for analytics.
3. Practice with DBT-Style Projects
- dbt Labs’ Jaffle Shop Tutorial: A step-by-step guide to creating a dbt project from scratch, including writing SQL models.
- Mock Data Warehouses: Set up a free database like BigQuery Sandbox, Snowflake Free Trial, or PostgreSQL and practice writing dbt models with your own SQL queries.
4. Community & Additional Resources
- dbt Community Slack: Join to ask questions, share resources, and learn best practices.
- YouTube Channels: Channels like Data with Danny and Data School often discuss SQL and dbt topics.
Updated
Krishna’s Answer
Hey Anjali!
Give these a try:
1. Data Lemur: This is a great place to practice SQL with fun exercises. Check it out here: datalemur.com/questions/sql-where-practice-exercise
2. W3Schools: A fantastic resource to start learning SQL basics. Visit here: w3schools.com/sql/sql_intro.asp
You've got this! Good luck
Give these a try:
1. Data Lemur: This is a great place to practice SQL with fun exercises. Check it out here: datalemur.com/questions/sql-where-practice-exercise
2. W3Schools: A fantastic resource to start learning SQL basics. Visit here: w3schools.com/sql/sql_intro.asp
You've got this! Good luck
Updated
Liqi’s Answer
Hi Anjali, Great question — learning SQL with dbt in mind is a smart move! Here are a few great resources to get you ready:
1. LeetCode / DataLemur / StrataScratch: Practice real SQL interview-style questions (joins, CTEs, window functions).
2. Mode SQL Tutorial: mode.com/sql-tutorial — hands-on, analytics-focused examples.
3. dbt Learn: learn.getdbt.com — free official course that teaches how SQL connects with dbt models and Jinja.
4. Kaggle projects: Use open data to write SQL --> transform with dbt --> visualize results.
Tip: Focus on writing clean, reusable SQL and understanding data modeling (fact/dimension tables). That’s what makes dbt click!
1. LeetCode / DataLemur / StrataScratch: Practice real SQL interview-style questions (joins, CTEs, window functions).
2. Mode SQL Tutorial: mode.com/sql-tutorial — hands-on, analytics-focused examples.
3. dbt Learn: learn.getdbt.com — free official course that teaches how SQL connects with dbt models and Jinja.
4. Kaggle projects: Use open data to write SQL --> transform with dbt --> visualize results.
Tip: Focus on writing clean, reusable SQL and understanding data modeling (fact/dimension tables). That’s what makes dbt click!
Updated
Pavani’s Answer
Hi Anjali,
If you are preparing to work with Data Build Tool, along with basic SQL, you may want to focus on analytics engineering, which covers data modeling, CTEs, and creating modular SQL for transformations.
Here are some helpful resources to practice SQL with context of dbt:
https://mode.com/sql-tutorial - This offers hands-on SQL practice with real data, ideal for mastering joins, window functions, and CTEs.
https://sqlpad.io - This simulates an in-house analytics environment, perfect for testing SQL transformations before using them in dbt.
Good luck. I'm sure you'll do great!
If you are preparing to work with Data Build Tool, along with basic SQL, you may want to focus on analytics engineering, which covers data modeling, CTEs, and creating modular SQL for transformations.
Here are some helpful resources to practice SQL with context of dbt:
https://mode.com/sql-tutorial - This offers hands-on SQL practice with real data, ideal for mastering joins, window functions, and CTEs.
https://sqlpad.io - This simulates an in-house analytics environment, perfect for testing SQL transformations before using them in dbt.
Good luck. I'm sure you'll do great!
Updated
Nathalie’s Answer
Here are some helpful resources for practicing SQL and learning dbt:
SQL Practice:
- Mode SQL Tutorial:
- Basic: mode.com/sql-tutorial/sql-in-mode
- Intermediate: mode.com/sql-tutorial/intro-to-intermediate-sql
- Datalemur: datalemur.com/questions
- LeetCode SQL Study Plan: leetcode.com/studyplan/top-sql-50
- HackerRank SQL: hackerrank.com/domains/sql
Learn dbt:
- dbt Fundamentals Course: learn.getdbt.com/courses/dbt-fundamentals
- dbt Course Catalog: learn.getdbt.com/catalog
- dbt Documentation: docs.getdbt.com
dbt Documentation for Work:
- Data Tests: docs.getdbt.com/docs/build/data-tests
- Building and Viewing Docs: docs.getdbt.com/docs/explore/build-and-view-your-docs
- Semantic Layer: docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl
Practice dbt Locally Without a Warehouse:
- Using DuckDB: docs.getdbt.com/guides/duckdb
- DuckDB Setup: docs.getdbt.com/docs/core/connect-data-platform/duckdb-setup
- dbt-DuckDB Repository: github.com/duckdb/dbt-duckdb
Example dbt Projects:
- Example Projects: docs.getdbt.com/faqs/Project/example-projects
- Jaffle Shop Repository: github.com/dbt-labs/jaffle-shop
dbt Cloud Free Plan:
- Free Account: getdbt.com/lp/dbt-free-account
- Pricing: getdbt.com/pricing
SQL Practice:
- Mode SQL Tutorial:
- Basic: mode.com/sql-tutorial/sql-in-mode
- Intermediate: mode.com/sql-tutorial/intro-to-intermediate-sql
- Datalemur: datalemur.com/questions
- LeetCode SQL Study Plan: leetcode.com/studyplan/top-sql-50
- HackerRank SQL: hackerrank.com/domains/sql
Learn dbt:
- dbt Fundamentals Course: learn.getdbt.com/courses/dbt-fundamentals
- dbt Course Catalog: learn.getdbt.com/catalog
- dbt Documentation: docs.getdbt.com
dbt Documentation for Work:
- Data Tests: docs.getdbt.com/docs/build/data-tests
- Building and Viewing Docs: docs.getdbt.com/docs/explore/build-and-view-your-docs
- Semantic Layer: docs.getdbt.com/docs/use-dbt-semantic-layer/dbt-sl
Practice dbt Locally Without a Warehouse:
- Using DuckDB: docs.getdbt.com/guides/duckdb
- DuckDB Setup: docs.getdbt.com/docs/core/connect-data-platform/duckdb-setup
- dbt-DuckDB Repository: github.com/duckdb/dbt-duckdb
Example dbt Projects:
- Example Projects: docs.getdbt.com/faqs/Project/example-projects
- Jaffle Shop Repository: github.com/dbt-labs/jaffle-shop
dbt Cloud Free Plan:
- Free Account: getdbt.com/lp/dbt-free-account
- Pricing: getdbt.com/pricing
Updated
Puneet’s Answer
If you're looking to improve your SQL skills with a focus on dbt (Data Build Tool), there are some fantastic resources that combine learning, practice, and real-world dbt workflows:
Courses & Learning Platforms
- LinkedIn Learning – Advance Your SQL Skills with dbt: This course guides you through SQL transformations and dbt modeling using real-world examples. It includes a GitHub repository full of code to explore and run.
- Pluralsight – SQL and Jinja for dbt: Dive deep into writing efficient SQL, using Jinja templating, and automating workflows with dbt macros. Perfect for creating scalable, maintainable models.
Official Documentation
- dbt SQL Reference: The dbt Developer Hub offers a complete SQL reference tailored to dbt’s syntax and use cases. It's an essential resource for daily work.
Practice & Projects
- dbt Labs’ own tutorials: Once you're comfortable with SQL basics, try building models using dbt’s CLI or Cloud version. Start with staging models, then move on to transformations and tests.
- GitHub Projects: Look for open-source dbt projects to see how others structure their models and use macros. It's a great way to learn best practices.
Need help creating a learning plan or deciding which course to start with based on your current level? Let’s get started!
Courses & Learning Platforms
- LinkedIn Learning – Advance Your SQL Skills with dbt: This course guides you through SQL transformations and dbt modeling using real-world examples. It includes a GitHub repository full of code to explore and run.
- Pluralsight – SQL and Jinja for dbt: Dive deep into writing efficient SQL, using Jinja templating, and automating workflows with dbt macros. Perfect for creating scalable, maintainable models.
Official Documentation
- dbt SQL Reference: The dbt Developer Hub offers a complete SQL reference tailored to dbt’s syntax and use cases. It's an essential resource for daily work.
Practice & Projects
- dbt Labs’ own tutorials: Once you're comfortable with SQL basics, try building models using dbt’s CLI or Cloud version. Start with staging models, then move on to transformations and tests.
- GitHub Projects: Look for open-source dbt projects to see how others structure their models and use macros. It's a great way to learn best practices.
Need help creating a learning plan or deciding which course to start with based on your current level? Let’s get started!
Updated
David’s Answer
To effectively prepare for working with dbt (Data Build Tool), it's essential to learn SQL from an analytics engineering perspective, focusing on data transformation, readability, and modular queries. One of the best starting points is dbt Learn, the official hands-on training course provided by dbt Labs. It walks you through setting up dbt, working with a warehouse (like BigQuery), and using Jinja templating inside SQL—key elements of real dbt projects. Their documentation and blog posts are also packed with practical use cases and best practices that align closely with how companies use dbt in production.
Once you understand the basics of dbt, it's important to strengthen your core SQL skills. Mode Analytics’ SQL Tutorial is a fantastic, beginner-friendly platform that teaches SQL using real business problems—very similar to the context in which dbt is used. If you're looking to challenge yourself with more advanced SQL, StrataScratch and LeetCode’s SQL problems provide real-world datasets and questions that help sharpen logic, subqueries, window functions, and joins. These are all commonly used in dbt models, especially in staging and transformation layers.
To truly bridge theory and practice, consider setting up a local or cloud-based dbt project with a free-tier warehouse like BigQuery, Snowflake, or DuckDB. Load sample datasets (e.g., from Kaggle or public Google datasets) and build a mini dbt project using models with naming conventions like stg_, int_, and fct_. This will help you apply your SQL knowledge in a real dbt context, understand dependencies, and explore testing, documentation, and deployment—all critical components of a dbt workflow.
Once you understand the basics of dbt, it's important to strengthen your core SQL skills. Mode Analytics’ SQL Tutorial is a fantastic, beginner-friendly platform that teaches SQL using real business problems—very similar to the context in which dbt is used. If you're looking to challenge yourself with more advanced SQL, StrataScratch and LeetCode’s SQL problems provide real-world datasets and questions that help sharpen logic, subqueries, window functions, and joins. These are all commonly used in dbt models, especially in staging and transformation layers.
To truly bridge theory and practice, consider setting up a local or cloud-based dbt project with a free-tier warehouse like BigQuery, Snowflake, or DuckDB. Load sample datasets (e.g., from Kaggle or public Google datasets) and build a mini dbt project using models with naming conventions like stg_, int_, and fct_. This will help you apply your SQL knowledge in a real dbt context, understand dependencies, and explore testing, documentation, and deployment—all critical components of a dbt workflow.
Updated
Teklemuz Ayenew’s Answer
If you’re a complete beginner, these additional platforms will boost your confidence and skills through hands-on SQL practice and dbt-focused learning:
DataCamp: Offers interactive lessons with guided exercises; perfect for learning how dbt fits into modern data stacks.
🔗 https://www.datacamp.com
StrataScratch: Real-world SQL questions from top tech companies
🔗 https://www.stratascratch.com
Replit: cloud-based coding environment.
🔗 https://replit.com
Codecademy : SQL basics, then branching into dbt workflows.
🔗 https://www.codecademy.com/learn/sql
HackerRank: Offers a wide range of SQL challenges, from beginner to advanced
🔗 https://www.hackerrank.com/domains/tutorials/10-days-of-sql
DataCamp: Offers interactive lessons with guided exercises; perfect for learning how dbt fits into modern data stacks.
🔗 https://www.datacamp.com
StrataScratch: Real-world SQL questions from top tech companies
🔗 https://www.stratascratch.com
Replit: cloud-based coding environment.
🔗 https://replit.com
Codecademy : SQL basics, then branching into dbt workflows.
🔗 https://www.codecademy.com/learn/sql
HackerRank: Offers a wide range of SQL challenges, from beginner to advanced
🔗 https://www.hackerrank.com/domains/tutorials/10-days-of-sql
Updated
Hetal’s Answer
Best Resources to Learn SQL for dbt:
1. dbt Learn (learn.getdbt.com) – Free official tutorials combining SQL + dbt.
2. Mode SQL Tutorial – Hands-on SQL practice in analytics context.
3. LeetCode / HackerRank – Practice complex SQL queries.
4. Kaggle – Real datasets with SQL practice in notebooks.
5. SQLBolt – Interactive SQL lessons for foundational concepts.
6. DataCamp / Codecademy – Structured SQL courses with projects.
➡ Focus on CTEs, window functions, and data modeling for dbt.
1. dbt Learn (learn.getdbt.com) – Free official tutorials combining SQL + dbt.
2. Mode SQL Tutorial – Hands-on SQL practice in analytics context.
3. LeetCode / HackerRank – Practice complex SQL queries.
4. Kaggle – Real datasets with SQL practice in notebooks.
5. SQLBolt – Interactive SQL lessons for foundational concepts.
6. DataCamp / Codecademy – Structured SQL courses with projects.
➡ Focus on CTEs, window functions, and data modeling for dbt.
Updated
Alfredo’s Answer
Hi Anjali,
I'm a Fraud Analyst/Specialist for a Cloud-Communications company. I use SQL and other similar querying languages like SPL every day and I highly recommend the following resources by Maven Analytics as an introduction to SQL :
• Learn 12 Basic SQL Concepts in 15 Minutes (length 16:47)
[https://www.youtube.com/watch?v=_vxobA36UN4]
• SQL Crash Course for Beginners (length 45:51)
[https://www.youtube.com/watch?v=ULdVndYtdYs]
For practice, I recommend using ChatGPT to generate problem sets—it's knowledge of SQL is very robust! You can also ask questions in real time and start practicing immediately, without having to install or set up anything on your computer which tends to be a big hurdle for many people who are just 'getting started'.
I'm a Fraud Analyst/Specialist for a Cloud-Communications company. I use SQL and other similar querying languages like SPL every day and I highly recommend the following resources by Maven Analytics as an introduction to SQL :
• Learn 12 Basic SQL Concepts in 15 Minutes (length 16:47)
[https://www.youtube.com/watch?v=_vxobA36UN4]
• SQL Crash Course for Beginners (length 45:51)
[https://www.youtube.com/watch?v=ULdVndYtdYs]
For practice, I recommend using ChatGPT to generate problem sets—it's knowledge of SQL is very robust! You can also ask questions in real time and start practicing immediately, without having to install or set up anything on your computer which tends to be a big hurdle for many people who are just 'getting started'.
Updated
Malik’s Answer
I started my career writing SQL queries and building dashboards. When I was learning I would use recorded lectures from professors at universities on YouTube, took structured courses, and go to learning platforms (w3schools, coursera, udemy, learnsql) for SQL. I found it to be extremely challenging but it became easier overtime.
Updated
Sindhura’s Answer
Hi Anjali, here are my recommendations:
1. Begin with a beginner SQL course from Codecademy or Great Learning to build your confidence.
2. Quickly move to more advanced SQL courses on Mode or Udacity that focus on real-world problems.
3. At the same time, start a simple dbt project. Choose a free data warehouse like BigQuery sandbox or a local Postgres. Write SQL transformations and run dbt models. Use dbt Labs training for guidance.
4. Document your work with a README or dbt docs, and upload it to GitHub to create your portfolio.
5. Repeat these steps with a more complex dataset involving multiple tables and transformations, and implement tests in dbt.
1. Begin with a beginner SQL course from Codecademy or Great Learning to build your confidence.
2. Quickly move to more advanced SQL courses on Mode or Udacity that focus on real-world problems.
3. At the same time, start a simple dbt project. Choose a free data warehouse like BigQuery sandbox or a local Postgres. Write SQL transformations and run dbt models. Use dbt Labs training for guidance.
4. Document your work with a README or dbt docs, and upload it to GitHub to create your portfolio.
5. Repeat these steps with a more complex dataset involving multiple tables and transformations, and implement tests in dbt.
Updated
Poovi’s Answer
Try using LeetCode and similar websites to advance from beginner to expert by practicing different levels of problems. This will help you understand the types of questions you might face in interviews and improve your coding skills.
Additionally, watch YouTube tutorials that cover topics from basic to advanced levels with examples. Reading SQL books is also a great way to learn.
Once you've learned, consider getting a certification. It provides proof of your skills and can be very helpful.
Additionally, watch YouTube tutorials that cover topics from basic to advanced levels with examples. Reading SQL books is also a great way to learn.
Once you've learned, consider getting a certification. It provides proof of your skills and can be very helpful.
Updated
Ramya’s Answer
Hi Anjali,
If you're looking to learn SQL and prepare for working with dbt (Data Build Tool), I recommend a structured yet flexible approach. Start with foundational SQL skills through platforms like DataCamp and Coursera, which offer comprehensive, interactive courses specifically designed for data professionals. These platforms provide structured learning paths that progress from basic to advanced SQL concepts.
For hands-on practice, leverage free resources like SQLZoo, HackerRank, and LeetCode. These platforms offer SQL challenges that range from beginner to advanced levels, allowing you to progressively build your skills. Kaggle is particularly useful as it provides real-world datasets that simulate actual data engineering scenarios.
The dbt Labs official documentation and YouTube channel are invaluable resources for understanding dbt-specific concepts. I suggest complementing online courses with practical projects. Create a personal data warehouse, build analytics dashboards, or practice complex data transformations to gain real-world experience.
If you're looking to learn SQL and prepare for working with dbt (Data Build Tool), I recommend a structured yet flexible approach. Start with foundational SQL skills through platforms like DataCamp and Coursera, which offer comprehensive, interactive courses specifically designed for data professionals. These platforms provide structured learning paths that progress from basic to advanced SQL concepts.
For hands-on practice, leverage free resources like SQLZoo, HackerRank, and LeetCode. These platforms offer SQL challenges that range from beginner to advanced levels, allowing you to progressively build your skills. Kaggle is particularly useful as it provides real-world datasets that simulate actual data engineering scenarios.
The dbt Labs official documentation and YouTube channel are invaluable resources for understanding dbt-specific concepts. I suggest complementing online courses with practical projects. Create a personal data warehouse, build analytics dashboards, or practice complex data transformations to gain real-world experience.