I made this because it's the SQL learning resource I wish existed when I was learning.
When I first started working on backend development, I tried to learn SQL by copying queries from StackOverflow. My peers largely agreed that this was the way. Well, after doing that for a while, I still understood SQL so poorly that I was searching StackOverflow for nearly every query. The queries were also never exactly what I needed, and they were difficult for me to modify since I didn't understand them too well. This made my life more difficult than necessary. None of the resources I found at the time taught SQL in a way that clicked with my learning style.
I had a big change when I created Join Monster, an open-source GraphQL-to-SQL transpiler. It turns out that creating a tool that generates SQL gives you enough hand-on experience to understand SQL very well. After doing this, I became the go-to person to seek SQL help from for my peers. Since most people don't get the opportunity to do what I did, I wanted to create the website I would've wanted as a beginner. This creation is my belief about how people can best learn SQL.
Videos are very useful for certain topics. However, my opinion is that it's too easy to disengage during a video lecture. You also can't ctrl-f to navigate around video content. SQL Scholar uses text and images to communicate the ideas. Needing to read words keeps you focused, and the figures of tables being sliced and diced helps visualize the concepts.
Solving problems and using critical thinking make the lessons really sink in. Can't I just do the challenges on LeetCode? LeetCode has challenges, but it doesn't have the instructional material to teach you. For highest learning efficiency, you need lessons and challenges interleaved in a thoughtful way. That brings me to my next point…
What actually is the relational model? Why can't this subquery go here? Why are people scolding me about performance problems when I do this? Those are the questions I was never able to answer when I was merely pasting from StackOverflow. If you use SQL Scholar, you won't need to be confused about those things like I was because of the way the concepts build up.
Made with ❤️ by Andy!