Master SQL & Python/Pandas Coding Skills

Enhance your Data Engineering and Data Analytics Skills like never before - all from the comfort of your browser.

Our carefully designed business-context coding challenges and courses will help you prepare for any data tasks at work or job interviews with confidence. Get everything you need to level up your data skills today!


Leon 🥇Gold


Krzysztof 🥈 Silver


Kerry 🥉 Bronze


Pablo 🗡 Iron


Sarah ⚡️ Krypton



Sharpen Your Data Skills: Practice SQL and Python/Pandas Online

A curated list of 216 SQL coding questions and solutions all in your browser.

Available engines: PostgreSQL, MySQL, and Python/Pandas.

94. Top 3 products vs. bottom 3 products

medium amazon


  • Write a query to return the top 3 and bottom 3 products in August 2021 ranked by sales.
  • sales = sum(unit_price_usd * qty) .
  • ordering of your results is not considered


  • Make sure you clarify with the interviewer on how to deal with ties

Table: orders

An eCommerce company's online order table.

  col_name    | col_type
order_id      | bigint
product_id    | bigint
customer_id   | bigint
order_dt      | date
qty           | integer
unit_price_usd| float
channel       | varchar(20) -- mobile, desktop

Expected results

Solution postgres

WITH top AS(
	SELECT product_id, SUM(unit_price_usd * qty)
	FROM orders
        WHERE order_dt >= '2021-08-01'
        AND order_dt < '2021-09-01'
	GROUP BY product_id
	ORDER BY SUM(unit_price_usd * qty) DESC 
bottom AS (
	SELECT product_id, SUM(unit_price_usd * qty) 
	FROM orders
        WHERE order_dt >= '2021-08-01'
        AND order_dt < '2021-09-01'
	GROUP BY product_id
	ORDER BY SUM(unit_price_usd * qty) 
SELECT top.product_id, 'top'  AS category
FROM top
SELECT bottom.product_id, 'bottom' AS category
FROM bottom;


This query is used to identify the top and bottom selling products based on their revenue generated during a specific time period. The time period in question is between August 1, 2021, and September 1, 2021.

The query first creates two temporary tables using common table expressions (CTEs) named "top" and "bottom". These tables contain the top 3 and bottom 3 products, respectively, based on their revenue generated during the specified time period.

The revenue generated for each product is calculated by multiplying the unit price of the product with the quantity sold. This calculation is done for each order within the specified time period.

The "top" and "bottom" tables are then combined using a UNION ALL operator to create a final result set that contains the product IDs and a category column that identifies whether the product is in the top or bottom category.

Overall, this query helps a data analyst to quickly identify the products that are performing well or poorly during a specific time period, which can be useful for making business decisions such as inventory management or product promotions.

People from world's top tech companies trust SQLPad

Data Engineer Offer from Amazon!

I got a job offer at Amazon as a Data Engineer! I worked with Leon and he was super helpful to me at every stage of the process of getting a new role! He helped me strategize a study plan for technical interviews, shared knowledge of what different data roles are like and which one I would like, and evaluate and negotiate what is important to me in the offer!

The best thing that I learned working with Leon is how to spend my time effectively in the interview process. Interviewing is not one of my strengths, but Leon empowered me to get to my goals!

Leon is really smart and has years of experience in Data, and knows the hiring process inside and out. It is so worth it to be able to learn from his experience! I have nothing but gratitude!

Senior Data Engineer Offer from Spotify!

Thank you so much @Leon !

Your advice and coaching are extremely helpful for preparations for the interviews. The timeline and pacing you helped plan worked out very well.

It kept me on the right track. The exercise on coding and data analytics you recommended greatly sharpened my skills to solve the problems during the technical rounds.

The practice to communicate project work to peers is another highlight to help me earn higher score. Again thank you so much for all your advice!

50% Salary Increase! !

Thank you so much @Leon!

Your advice and coaching are extremely helpful for preparations for the interviews. The timeline and pacing you helped plan worked out very well.

It kept me on the right track. The exercise on coding and data analytics you recommended greatly sharpened my skills to solve the problems during the technical rounds.

The practice to communicate project work to peers is another highlight to help me earn higher score. Again thank you so much for all your advice!

Dream job offer from  Apple!

Hi @Leon and @Mike ,

Just wanted to share, I accepted an offer from Apple as a Data Engineer and wanted to offer a huge thank you to both of you guys.

Even though I only shared a time with you both I benefited a lot from your platform and your mock interviews.

Some of the questions you gave during our Data Modeling with you Mike were presented verbatim.

The mock interview helped me do it in the right way

💬 SQLPad helped me gain mastery of all the core SQL concepts in a structured manner with a thoughtfully designed business schema. The associated articles and videos are also very well produced and helped me get a better understanding of translating business questions to actual SQL code. Highly recommended for anyone looking to deepen their SQL skills and those applying for data analytics roles.

Shoutout to Leon Wei from

Please do reach out to him if you're looking for career advice, general consulting, or resume feedback. I found his services extremely valuable.

And while you're at it, please do check out SQLPad if you're looking to refresh your SQL concepts.

Recommending him!

Shout out to Leon Wei from, recommending him if you are searching for great advises and mentorship for your #datasciences career. seems more intuitive and lightweight where some of the other sites try to do too much and they're a bit cumbersome to use. I like the Leaderboard. Probably my biggest reason for signing up was the fact that you gave so much information away for free. I signed up for your emails, was going through the mini courses, using the Playground and I got more benefit out of all of that in two weeks than I did at the other websites. Glad I found

Simply put, SQLPad is not the cheapest SQL interview prep site, but its high quality SQL interview questions makes it worth every penny. You can't practice anywhere else of such well thought and carefully designed business context oriented list of SQL coding questions.

I nailed my SQL interviews and received multiple Data Scientists offers that potentially double my currently salary, which makes the few hundreds dollars purchase of SQLPad lifetime bundle a steal.

I can always come back and use SQLPad when I want to prepare my next SQL interview.

Dream data scientist job offer!

I've tried several sites to practice SQL and is my favorite because the questions are well-designed to focus on the most important concepts. Some of the other sites are all over the place.

With, I can focus on questions by skill level or topic, and the number of questions available is a reasonable amount to study for interview prep.

In addition, I got mentoring sessions with Leon and I was impressed at how helpful it was. Leon was calm and knowledgeable, which helped my nerves over my up-coming interview.

He really takes mentoring seriously and it makes a big difference. After practicing my SQL, I got my data science dream job!

Yes, I really like it too. Simple, straightforward and to the point. It is really helping me a big time. Yesterday, I have solved a few questions on sqlpad and the similar problem I had to solve at work today. The methodology really helped me to build an efficient solution. I can recommend this platform to my friends and colleagues without any doubt.

I want to give a big shout out to @theleonwei, founder of SQLPad. Absolutely had the pleasure of learning SQL on SQLPad. There are 80 plus SQL challenges ranging from easy to hard. I can now say that I have become more confident.

Worked through all the problems at sqlpad - Great teaching / refresher tool and highly recommended!

I have been relearning SQL and sqlpad has been a great resource. There is a good ratio of a new concept to practice questions! Highly recommended.

💬 "I signed up on SQLPad and was pleasantly surprised when Leon helped me out personally on the website.

In two mock interviews with him, he was meticulously prepared and very professional.

Throughout the interview he provided fantastic feedback and frameworks on how to be better prepared for both technical and behavioural aspects of an interview. He is also a very positive and friendly person and I enjoyed all my interactions with him.

💬 SQLPad is the best website I have used for practicing SQL. The databases and practice problems resemble real-world data and daily tasks in a data scientist / data analyst role. I landed a new job as a data scientist at a tech company after completing all the practice problems. I would definitely recommend SQLPad to all who would like to improve their SQL skills and prepare for technical interviews.

💬 This course helped me get into a final round of a data scientist interview at Facebook. Didn't get an offer eventually because I didn't do well during the product sense round. However I got great feedback for my SQL interview session. Highly recommend this course to any fresh college graduates.

💬 I want to thank you for creating this website and it is a great resource for anyone to practice. I really appreciate the effort. I feel so confident with SQL after practicing here.

💬 I am currently in question 30, I really like some of the questions you posted here. Also thank you for your excellent customer service !!!! Thanks 👋👋👋


💬 Enjoying it so far, love the mix with practical exercises and the focus to land a job, that's really important because normal courses do not prepare you for interviews. Also, Leon is really kind and helpful.

💬 This site is a great resource for SQL interview practice questions. The interface is excellent! And even as someone who currently uses SQL for their day job, I have definitely improved my skills by working through these problems.

💬 Thanks for sqlpad. Really loving the experience. As someone transitioning into a data analyst position this is a great resource. Looking forward to your mentorship program.


💬 Great course on SQL. Very comprehensive. All the SQL material I've pales compared to this.

SQLPad Pricing

Save up to 25% to subscribe a 3 months plan. Payment securely processed by Stripe, cancel anytime.


per month


per year

You will receive a certificate once you solve 100 coding questions. Here is a sample SQLPad certificate for your reference.

Once your subscription starts you can't get a refund for any payments you've already made. If you don't want to subscribe anymore, cancel your subscription. You will have access to the subscription until the end of the period you have paid for.

If you are on a premium plan before March 17th, you will automatically be transferred to the new Ultimate plan at no cost.

We also offer volume discount for education and business teams, contact us to get a quote.

Certainly, numerous clients have effectively been reimbursed for their monthly subscriptions by their employers, allowing them to study SQL and Python at no cost.

Most companies have a dedicated training/learning budget for their employees, and some companies auto approve for any expense less than $100.

Here is a sample invoice you can use to get reimbursed.

sample sqlpad invoice for reimbursement

Need some help convincing your manager? Here is a draft email for your reference:

Dear [Manager's Name],

I would like to request your support in reimbursing my SQL training at

By learning SQL, I can improve my productivity and work more efficiently in managing and analyzing large datasets. I have reviewed the course materials and believe that the interactive tutorials and real-world projects would provide a comprehensive learning experience. This investment will benefit not only me but also our team and the organization as a whole. Thank you for considering my request.

Best regards,

[Your Name]

You are given 10 FREE SQL coding questions to try out, after that, your account will be locked.

Upgrade to a paid plan will unlock it immediately and also give you access to all questions and solutions, as well as the cracking the SQL interview course (20 video lectures).

On average, it takes about 3-4 months to finish all the coding questions.

We currently don't offer one-time orders.

However, you can subscribe to the monthly service, pay for the first month and unsubscribe.

After your subscription expires, you won't be charged the next month, and all of your solutions will be persisted and ready to be accessed the next time you re-subscribe.

Since we have already provided you a FREE tier to practice a limited set of questions, we cannot refund you once your subscription starts.

Cancellation and Refund Policy

1. Monthly/Quarterly subscriptions
Once your subscription starts, you CAN NOT get a refund for any payments you've already made.
If you don't want to subscribe anymore, cancel your subscription.

You will have access to the subscription until the end of the period you have paid for.

2.  One time purchase

Unfortunately, we can not refund one-time purchases, including but not limited to EBook, Ultimate Bundle, and Job Search ultimate bundle.

Absolutely, congratulations, and we totally understand you need to take a break and celebrate.

To cancel your subscription, simply:

1. Sign in to your account, go to your account dashboard, then click Manage Plan.

2. A customer portal page will pop up (Hosted on Stripe). Follow the step-by-step instructions to cancel your subscription.

What happens after?

You will still have access until the end of your subscription period, similar to your other subscription like  Apple Music or Netflix.

If you want to delete your account permanently, shoot us a message with your username and email, and we will delete your account within 24 business hours.

Leon Wei, SQLPad founder Hi, my name is Leon Wei. Most recently, I was a senior manager of machine learning at  Apple. I am currently building an AI data analytics tool: while running You can read more about me at my linkedin profile.

I’ve been using SQL for over 10 years, and it is still my go-to programming language to prepare data.

Before that, I lead a team of data scientists and engineers at Chegg, helping students or young professionals to improve their performance at school or work.

I also worked as a research scientist at Amazon, focusing on building a large-scale real-time pricing optimization engine for their online retail business. 

We created the cracking the SQL interview for the data scientist course with a beginner's mindset, and we assume our audience has 0 experience with SQL.

That's why the first 10 questions may seem to be very easy for experienced users, but you will find more and more challenging and tricky hard level questions as you move along to later questions.

Unfortunately NO.

We have designed and created the entire SQL course and curated all 200 SQL coding questions single-handedly, which took us more than 3000 hours of hard work, therefore you are not allowed to use any of those questions outside of this website, without our written permission.

If you represent a company and are interested to acquire a license to use our coding questions and solutions, please feel free to contact us.

From sqlpad's founder Leon wei.

After launching the Cracking the SQL Interview for Data Scientists course, I realized the need for my students to easily follow the course and practice SQL coding problems.

Since I can't find a solution online, I built SQLPad.

All the SQL exercises can be practiced in a browser, and my students don't have to waste hours configuring the database on their own computers.

As of March 21, 2023.

Those are the major version of our online playground.

PostgreSQL: 13.9

MySQL: 8.0

Python: 3.10

Pandas: 1.5


SQLPad is the Leetcode alternative that makes learning and mastering SQL for data analytics professionals instead of software engineers. It creates a complete SQL mastery path for all data scientists.

🧑‍💻 Our approach to tackling a SQL interview is to first teach you SQL fundamentals with the cracking the SQL Interview for data scientists course before asking you to jump into the coding war.

📹 More than 20 video lectures to learn SQL fundamentals and tips and tricks help you understand what a SQL interview is about.

🏋️‍♀️ After you grasp the basics, you then jump into SQL coding questions that challenge you and make sure you mastered those SQL fundamental concepts.

😱 Leetcode jumps directly into some super long, hard-to-understand SQL coding questions that may frustrate you, especially if you just started.

📈 Instead, SQLPad has a more gradual, more user-friendly learning experience for all SQL skill levels.

🍿 The first 80 SQL coding questions are based on the same Movie rental database, which resembles a real-world commerce business.

🤗 From easy-level questions to challenging ones, you gradually build up a good understanding of the database schema by practicing those questions.

👩‍💻 And by the time you are to solve some of the most advanced SQL interview questions (#58-80), such as WINDOW functions and LAG/Lead, you are already familiar with those tables. You can jump right into the coding environment after learning the concepts.

The goal of sqlpad is to help people in data analytics/science quickly learn or refresh their SQL skills.
It could be for a job interview or be more productive at work.

The Cracking SQL Interview course is a comprehensive course but is really focused on improving your SQL interview skills, with tips and techniques that I've learnt from interviewing thousands of data professional candidates. It saves time by concentrating on things that really matter.

We have seen satisfied customers ranging from fresh college STEM students searching their first industry jobs, and young professionals who want to switch their career track to work on data science.

SQLPad and the SQL interview course significantly improved their hands-on data processing capabilities, with laser-focused learning materials, to help land their dream job offers.

(Update 01/26, 2022, we now also support MySQL and Python, more info.)

Great question, SQLPad's online playground, and the coding challenge's online judge is currently based on the latest Postgres.

Its query syntax is similar to other databases such as MySQL or Microsoft SQL Server, one of the major differences is on Postgres's DateTime related functions.

More details can be found here:

For example, there is no datediff function in Postgres, but you can subtract one DateTime column from another directly using the minus '-' operator, which is actually quite convenient and easier to type once you get the hang of it.

If you would like to see other database engines implemented on SQLPad, please let us know.



Yes, you totally can.

SQL interview questions and  SQL Playground work in all modern web browsers, including Chrome, Safari, Firefox in  Mac, Windows, Linux  and other operating systems.

Good question, I created the solutions in a specific style/format (e.g., using IN instead of JOIN), so my students who take the Cracking the SQL interview for Data Scientists Course can follow along.

I have been gradually adding more solutions (optimized) and will indicate if that solution is for more advanced users.

If you have a better solution than mine, please feel free to let me know!


SQL is a must-know programming language for any analytics track data scientists, it is the lingua franca for processing and managing data in the industry. I’ve been using SQL for many years, and it is still my go-to language to prepare and manage data.

However, it is not a strong-typed language, and there are many popular database systems with different syntaxes and built-in functions, it could be very confusing for first-timers.

As a hiring manager or part of the hiring committee, I often ask a lot of SQL questions during a data scientist job interview, and to make sure the candidate will be hands-on at work.

However, in my 15 years career, I have met so many fresh college graduates or young professionals starting their job searches without solid coding skills in SQL, and in the end, they didn’t get a job offer.

The SQL interview can bear other names and may be called  Technical Analysis or Data Interview during a FAANG company interview, you might be asked to perform a series of SQL operations to extract data and insights, and answer follow-up questions about their products.

(*) FAANG: Facebook, amazon, apple, Netflix and google currently does not support dark mode, but we plan to add native support sometime this year.

In the meantime, we recommend you use a browser extension such as Super Dark Mode (if you use chrome), or similar Dark mode extensions for other browsers.

There is definitely a lot to prepare for your first job hunt, especially given the current COVID-19 situation, hiring managers to receive a lot more applications from qualified candidates, and it pushes the hiring bar significantly higher than before.

If you are interested to know more about how to prepare a data scientist interview, I wrote a blog to explain different types of data scientists tracks.

And if you are interested in finding a job search mentor to help you get started with a concrete plan. Feel free to hire me.

Have more questions? Please feel free to contact us, we read and respond to every email you send us, just give us some time. 😃

Start Learning Today

Become Your Own Data Expert

Solve 216 SQL & Python Challenges: Mastery Through Data Practice.

Boost Your Data Skills Today