top of page
  • Writer's pictureKelly Adams

Behind the Scenes: Creating a SQL Course

Skilled mechanic resolving performance related issues in server room. Expert utilizing tablet to identify operational problems causing high tech facility electronics slowdown

Recently, I launched a free SQL course* on YouTube with Luke Barousse*. This project, which I've been working on for a few months, required over 100 hours of effort. Building a course is something completely different from my past experiences. Although I have tutoring experience and a degree in education, I wanted to create something more tutorial and technical focused, especially since SQL plays an important role in data analysis. This gives viewers a crucial skill set for their careers. It was also a fun and new way for me to practice my SQL skills, specifically the fundamentals.

Affiliate Link Disclaimer: This post includes affiliate links, indicated with a * at the end, for the course I co-created. If you decide to purchase the course through these links, I may receive a small commission at no extra cost to you. This support helps me continue to provide valuable content. Thank you for your support! Other links on this page are provided for info and aren’t affiliate links.


Below, I share my experience with building the course, focusing on the overall process rather than the specific lessons learned.

Deciding Resources

We started by figuring out which resources to use, such as the coding editor and platform for practicing queries. We decided on Visual Studio Code for its popularity with programmers, sqliteviz for its quick start up for users, Notion for our detailed course notes, and Kajabi because it’s where Luke’s current courses are located.

For the basic beginning part, our goal was to make it as easy as possible for students to start writing their first query. After some research, we settled on sqlliteviz because of its simplicity. We were already using Notion to collaborate so we decided to use it for our course notes because of its flexibility. Lastly, after some discussion, we chose Kajabi to host the practice problems, because of Luke's previous positive experience with the platform.

Course Design

Deciding which topics to include and exclude was one of the course’s most challenging aspects. Our main goal was to make the course accessible to people without any coding or data background, primarily targeting entry-level analysts. However, we made sure there were valuable insights/tips/lessons for those with experience too.

Luke and I focused on topics we use daily in our data analyst roles, such as joins, subqueries, CTEs, and aggregate functions. We excluded Windows functions, considering them advanced for someone looking for an entry-level SQL role. Our course is structured to slowly build up in complexity, starting with foundational queries and advancing to more sophisticated data manipulations.

To further enhance the learning experience and provide additional resources, we introduced a paid portion of the course for $25. This not only gives students access to over 50 practice problems, detailed course notes, and a certification for LinkedIn but also supports our ability to fund future courses. This model allows us to continuously improve and expand our offerings, ensuring that we can keep providing valuable learning materials to the community. Check out the paid extras* to support our work and get over 50 practice problems, a certificate and detailed course notes.

Practice Problems 

We designed two types of practice problems.

  1. The first set of practice problems, covered in the video, address multiple concepts for a more comprehensive understanding. Our approach balanced the practice problems' difficulty, ensuring a smooth learning curve from beginner to advanced levels. These are available to anyone who watches the free YouTube video.

  2. The second set, available to students who paid for the course, includes over 50 practice problems. Students also get detailed course notes and a certificate after completing the course which can be added to your LinkedIn profile. We aimed for a minimum of three per section, increasing in difficulty, except for the manipulate table section, which requires a specific order to work properly.

Throughout this it was about finding a balance between giving students enough practice problems that they feel confident with their abilities but not too many to overwhelm them. In the end through my experience in teaching and Luke's expertise in background in creating videos we were able to add an appropriate amount of practice problems in the video.  

Portfolio Project

Early on, we decided to include a portfolio project for students to showcase their skills. I focused on creating detailed and realistic analysis, using concepts taught throughout the course to ensure the project was relevant and applicable. Our goal was to create a similar situation that student's would encounter in the real world. We were able to create a example project for students to walk through with the hopes that they will further the analysis with what they learned in in the course.  And be able to showcase this portfolio on their Github, website or LinkedIn page. 

Difference from Formal Teaching 

My background and degree is in education. Transitioning from synchronous in-person teaching to creating asynchronous course content was a challenge. I tried to anticipated potential student pain points and incorporated visual aids and examples to enhance understanding, even though it's impossible to cover every scenario.

I had to think about the potential struggles the students would have beforehand since there's no way to edit the video once it's published. I thought through as many scenarios students could run into and problems that they might have. For instance while watching the edited video I made some suggestions to add animations to make it clear which tables and columns we were joining. This way visually it was easy for the student to see in case they have difficulty hearing or some other reason. 

It's not possible to cover or anticipate every possible problem a student could run into. But with the feedback we received not only from the YouTube video but also from the paid portion, I can improve future courses and learn from potential mistakes. 

Main Challenge

Balancing the amount of detail was my biggest challenge, aiming to be comprehensive enough for beginners to reach an intermediate level in SQL without overwhelming them with information. Our goal for the course was clarity without oversimplification.

It was something I constantly thought about while creating the course. I asked Luke specifically for his thoughts and ideas on this since he’s experienced with creating videos. I believe we create a course that strikes the balance of being comprehensive enough for someone with no coding experience to become intermediate in SQL. But also not diving into every possible thing that SQL can do to keep it focused. 

What I Improved On

Below are a few examples of what I improved on making this course. '

SQL Fundamentals

Teaching SQL reinforced my understanding of its fundamentals, a crucial step I initially overlooked. I've also gained insights into course design and storytelling, thanks to Luke's expertise in video content creation.

Course Design 

I've learned the process and amount of work and thought it takes into creating a course. While there's always something to learn, I'm more confident moving into the next course that we're working on. I have a better understanding of the time, work, and planning it takes to building a course. 


Understand the difference in a video vs. blog post or other material. There needs to be a cohesive and compelling story to keep the student engaged. Honestly Luke helped a lot with this, he helped steer me in the right direction with his experience in creating video content. 


Through developing this SQL course with Luke, I've deepened my understanding of SQL fundamentals, improved my course design and storytelling skills, and worked through the challenge of transitioning from synchronous teaching to creating asynchronous, video content. This project reminded me of the importance of clarity and balance in educational material and gave me with insights for future course development. And I'm excited to say I'll continue working on more courses.

Stay tuned for more by subscribing to Luke's YouTube channel and my newsletter for updates on our upcoming courses and content.


bottom of page