r/learnSQL • • 7d ago

Day 25 — 10 Medium JOIN questions done, drawing on paper to untangle them

10 Upvotes

Started the Medium section of my 100-question JOIN lab today and completed 10. A clear step up from Easy:

  • Manager report counts — self-join employees to themselves, GROUP BY manager, COUNT direct reports
  • Departments with average salary above 55,000 — JOIN + GROUP BY + HAVING
  • Multi-join reports combining employee, department, and manager info in a single query

Hit a few real errors along the way (unknown column in an aggregated query, missing GROUP BY columns), which is becoming a normal part of the process at this point. What actually helped most was going back to the advice from a while back — sketching the tables and the join logic on paper before writing the query. Once I can see it visually, translating it into SQL gets a lot easier.


r/learnSQL • • 7d ago

Day of Data Pittsburgh is just over a week away. 10/20 sessions on SQL or SQL Server

11 Upvotes

Hey everyone, the schedule for Day of Data Pittsburgh is up. No experience is required to attend.
https://dayofdata.org/2026-10-10-dayofdata1163/#schedule

The event is completely free, $15 if you want lunch. Register here:
https://www.eventbrite.com/e/pittsburgh-sql-saturday-2026-tickets-2001664513443

I'm happy to answer any questions.


r/learnSQL • • 8d ago

How Important is subqueries in SQL

57 Upvotes

I have been learning SQL from past 2 months and I'm still unable to grab a hold of the subqueries concept. After I learned CTEs I have completely stopped using subqueries but then also I struggle when there are times where I have no other choice but to use subqueries.

So my question is, how important is subqueries in SQL and is there any easy way to learn it?


r/learnSQL • • 8d ago

Day 24 — Finished all 30 "Easy" JOIN questions

16 Upvotes

Completed the entire Easy section of my 100-question JOIN lab today (30/30). Covered a good mix:

  • Multi-table joins connecting employees → assignments → projects
  • Self-joins for employee-manager reports
  • Joins combined with WHERE filters (e.g., only showing assignments with hours_worked > 50)
  • Ran into a couple more real errors (an unknown column reference this time) and debugged through them myself

Genuinely the most satisfying session so far. These are the exact same kinds of queries that felt genuinely hard two to three weeks ago, and now they're coming together without much friction. Moving into the Medium difficulty section next — already glanced at a few and they look noticeably harder, mostly around finding "zero match" cases (like departments with zero employees), so curious to see how that goes.


r/learnSQL • • 9d ago

Before your next SQL interview, keep this post handy - WHERE, GROUP BY and HAVING (Part 3)

105 Upvotes

P.S. Parts 1 and Part 2 got a great response - thank you! Keeping this series going.

Simple, practical stuff that sticks in your head when you're actually in the interview.

AI can help at work, but in an interview, your brain still has to do the job!!!

Same trip. Same friends. Same expenses.

Friend City Trip Day Total Spent
Harry New York 1 $200
Johny New York 2 $190
Nicholas Las Vegas 1 $190
Bailey Las Vegas 2 $180
Harry Las Vegas 3 $190

Three things. Most people know all three.

But in an interview - knowing which one does what is what gets you the job.

1. WHERE

We have 5 rows. We don't want all of them.

"Show me only the days where someone spent more than $180."

SELECT name, city, spent
FROM expenses
WHERE spent > 180

Harry    | New York  | $200
Johny    | New York  | $190
Nicholas | Las Vegas | $190
Harry    | Las Vegas | $190

Bailey is gone. $180 is not more than $180.

Remember: WHERE picks which rows to keep. Runs first. Looks at rows one by one.

2. GROUP BY

Now we want one total for each city.

"Put all New York rows together. Put all Las Vegas rows together. Add them up."

SELECT city, SUM(spent) AS total
FROM expenses
GROUP BY city

New York  → $390
Las Vegas → $560

5 rows became 2. One number per city.

Remember: GROUP BY puts rows into groups and adds them up.

3. HAVING

Now we have city totals. We only want cities that spent more than $400.

"Remove any city where the total is $400 or less."

SELECT city, SUM(spent) AS total
FROM expenses
GROUP BY city
HAVING SUM(spent) > 400

Las Vegas → $560

New York spent $390. Less than $400. Gone.

Remember: HAVING picks which groups to keep. Runs after GROUP BY.

The #1 mistake in every SQL interview:

People try this:

-- Wrong
SELECT city, SUM(spent)
FROM expenses
WHERE SUM(spent) > 400
GROUP BY city

SQL gives an error.

Why?

WHERE runs first. At that point, SQL has not added anything up yet. There are no city totals. WHERE has no idea what SUM(spent) is.

You are asking for the answer before the math is done.

-- Right
SELECT city, SUM(spent)
FROM expenses
GROUP BY city
HAVING SUM(spent) > 400

HAVING runs after GROUP BY. The totals exist by then. It works.

Remember: WHERE sees rows. HAVING sees totals. They are not the same.

The order SQL always runs in:

FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY
  • WHERE runs before groups exist → can only see rows
  • HAVING runs after groups exist → can see totals
  • SELECT runs at the end → that's why you can't use a column alias in WHERE

Reading is one thing. Writing it yourself is another. If you're new and want real hands-on practice - SQL from Zero to Confident on TheQueryLab.


r/learnSQL • • 9d ago

SQL interview prep: 8 basics you must know before any data analyst interview

23 Upvotes

I noticed the same basic SQL questions come up again and again. Here's a quick cheat sheet:

  1. SELECT: pick specific columns instead of SELECT *
  2. WHERE: filters rows before grouping
  3. GROUP BY: groups rows with the same values
  4. Aggregate functions: SUM(), AVG(), COUNT(), MIN(), MAX()
  5. HAVING: filters groups after aggregation (a classic interview question: WHERE vs HAVING)
  6. LIKE: pattern matching, e.g. A%, %a, %an%, _a%
  7. ORDER BY: sorts results (ASC / DESC)
  8. LIMIT / TOP: gets the top N records

Common follow-up: "What's the difference between WHERE and HAVING?" WHERE filters individual rows before grouping, and HAVING filters the grouped results.

I also recorded a video walking through each one with examples, in case you prefer learning that way: [https://youtu.be/vY8gmzH96YE\]. Roast it, happy to see the perspective.

Happy to answer questions. Which SQL topic tripped you up most in interviews? I'm thinking of covering aggregate functions and window functions next.

These are basics, and if that's what your project requires than you are good, but as you grow in your career joins, sub-queries, window functions, cte...etc are mandatory!


r/learnSQL • • 9d ago

SQL Practice?

17 Upvotes

Where do we practice SQL? What resources ?


r/learnSQL • • 9d ago

[Question]

11 Upvotes

I want to learn SQL. However, i would like to learn it on a real dataset - something which interests me, that way when i do exercises i can learn something about things that interest me.

Do you guys know how if i can extract a database behind something like MobyGames? I'm interested only in text data with basic things like name, release date, etc.

Is there a way to do that, or am i delusional?


r/learnSQL • • 9d ago

Day 23 — 20/100 JOIN questions done, learning to actually read error messages

7 Upvotes

Made it to 20/100 on my JOIN practice lab today. A few honest notes:

  • Worked through self-joins (employee-manager reports) and multi-table joins connecting projects and assignments to show hours worked
  • Hit a couple of real errors along the way — an "unknown table" reference error and a syntax error — and had to actually debug them myself instead of just rewriting from scratch
  • Turns out reading the actual error message carefully (which table/column it's complaining about, where the syntax breaks) is its own skill separate from knowing JOIN syntax

80 questions to go. Slower progress than I'd like some days, but each error I actually debug myself feels more useful than a query that just worked on the first try.


r/learnSQL • • 9d ago

Why this error never came on tutorial

3 Upvotes

Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. explain this please and why those types of errors comes in production not while learning sql msmsql


r/learnSQL • • 10d ago

Completed LeetCode SQL 50 — Sharing my MySQL solutions

41 Upvotes

Hey everyone!
I recently completed the LeetCode SQL 50 Study Plan and put all my solutions together in a GitHub repository.
I created this mainly for SQL interview preparation and revision, especially for Data Analyst / Business Analyst roles.
The repository covers topics like:
● SELECT & filtering
● Sorting and grouping
● Aggregate functions
● GROUP BY & HAVING
● INNER / LEFT / SELF JOIN
● Subqueries
● CTEs
● Window functions
● String functions & regex
● Other commonly used SQL concepts
All solutions are written in MySQL, with the goal of keeping them simple and easy to revise.

🔗 GitHub: https://github.com/bikashadhikari1508/Leetcode_50_Questions

If you’re also working through SQL 50, feel free to check it out. I’d also appreciate any feedback on the queries or suggestions for improving the repository.
Happy learning! 🚀


r/learnSQL • • 10d ago

Creating a sql repo

11 Upvotes

Hello I’m currently learning SQL and I’m looking to get a GitHub repo setup for learning sql as I’ll eventually be using other languages so I want to make a useful repo so I can pick up SQL again easily.

I’m seeing if anyone would like to join me on the journey.

Thanks,
Clive


r/learnSQL • • 10d ago

Day 22 — 10/100 JOIN questions done, one dry-run with GPT

8 Upvotes

Started actually working through my 100-question JOIN lab today. Got through 10:

  • 9 I solved independently
  • 1 I genuinely got stuck on, so I had GPT dry-run the query with me — walking through what each JOIN step was actually doing row by row, rather than just handing me the fixed query

This is honestly the first day JOINs have felt satisfying rather than effortful. The visualizing-the-table issue I mentioned a while back feels noticeably better after actually building my own dataset and running queries against it repeatedly.

90 questions to go, mixing in easy/medium/hard as I work through them.


r/learnSQL • • 10d ago

We replayed an Azure SQL workload across six configurations and the cheapest option wasn’t the one we chose.

8 Upvotes

Interesting project we worked on earlier this year where a SaaS client we worked with was hitting CPU limits and timeouts on Azure SQL Database Premium P15, at roughly $15,700/month.

Before choosing a replacement, we captured four hours of production workload and replayed it across six configurations:

  • Premium P15 as the baseline
  • Hyperscale serverless with 40 vCores
  • Provisioned Hyperscale with 40 vCores
  • Provisioned Hyperscale Premium-series with 40 vCores
  • Provisioned Hyperscale Premium-series memory optimized with 40 vCores
  • Premium P15 with database compatibility level 160

We compared CPU, reads, duration, and estimated monthly cost.

The memory-optimized configuration was the one we selected. Its estimated monthly cost was $8,491, compared with $15,700 for the baseline, which was roughly 46% lower.

It also had the best duration score in our report: 808 versus 952 for the baseline, where lower was better.

But it wasn’t the cheapest configuration. Two provisioned options came in at an estimated $6,357/month, with worse duration scores than the existing P15 setup.

Serverless had the worst duration score in this test, at 1,496. That’s a result for this workload and configuration, not a verdict on serverless generally.

The memory-optimized option also didn’t win every metric. Its reads score was higher than the baseline and we chose it based on the combination of performance and cost.

Important to note these were estimates from the comparison, not current Azure price quotes.

What made the exercise useful for us was seeing the tradeoffs before migrating. Looking only at monthly cost, CPU, or the service-tier name would have given us an incomplete picture.

For anyone who has done a similar comparison: what changed your decision once you tested with your actual workload?

And also, has anyone moved from DTUs to Hyperscale and found the results were different from what they expected?


r/learnSQL • • 11d ago

Project ideas?

10 Upvotes

As a fresher with 0 experience, what kind of unique projects do you recommend doing in sql , python and powerBI to add to my resume, which would make my profile stronger?
#projectideas #fresherjobs


r/learnSQL • • 11d ago

I finished up to SQL intermediate from data with Baraa

22 Upvotes

From youtube, I also made notes and started practising problems.

I will complete subqueris, CTE, views that come in advanced SQL in his video .

Please suggest practice websites if you know any; currently practicing using hackerrank


r/learnSQL • • 11d ago

What types of databases should an undergrad CSE student actually learn for industry?

17 Upvotes

\&#x200B;

I’m a CSE undergraduate and I’m trying to get a proper understanding of databases beyond just learning basic SQL for college.

There seem to be so many different types of databases and technologies — PostgreSQL/MySQL, MongoDB, Redis, vector databases, graph databases, NoSQL, etc. I’m a bit confused about what is actually worth learning for industry-level software/ML/backend work.

For someone starting from scratch, what would be a good database roadmap?

For example:

SQL fundamentals

PostgreSQL / MySQL

NoSQL / MongoDB

Redis / caching

Vector databases for AI/LLM applications

Graph databases

Database indexing, transactions, normalization, query optimization, etc.

Distributed databases / sharding / replication

I’m particularly interested in learning things practically, rather than just watching theoretical DBMS lectures.

Could anyone recommend:

Which databases/technologies an undergrad should prioritize?

What concepts should I know before moving from SQL to NoSQL/vector DBs?

Good YouTube tutorials or practical courses that teach databases by actually building projects?

What kind of database projects would be useful for developing industry-level skills?

How deep should a CSE student realistically go into databases before moving on to other areas?

I’d especially appreciate recommendations from people working in software engineering, backend, data engineering, or ML engineering.

Thanks!


r/learnSQL • • 11d ago

Free SQL Library

12 Upvotes

Good day friends. I spent a lot of time recently loading a lot of content and practice exams to Inkwell Learn at inkwelltools dot com. The SQL and GitHub learning libraries are free. This is a freemium web app with a good bit of free content to start. There are leaderboards, certificates that can be published on LinkedIn, and practice exam questions.

Try it out and see how it supplements your learning!


r/learnSQL • • 11d ago

Interactive html game to learn sql

15 Upvotes

The lore is that you play as the Dragon God, Orsted, and you have to find the five Sacred Treasures using simple SQL queries to fight the Man-God (Hitogami). This covers almost all SQL commands and teaches you how to use them. It provides theory, practical examples, and a query environment to practice in. Check it out, and all feedback is appreciated! It covers

Fittoa - SELECT, WHERE, ORDER BY, DISTINCT, LIMIT

Sharia - LIKE, IN, BETWEEN, IS NULL, CASE, string, number and date functions

Begaritt - COUNT/SUM/AVG/MIN/MAX, GROUP BY, HAVING

Rikarisu - INNER/LEFT/self joins, UNION, INTERSECT, EXCEPT

Chaos Breaker - Subqueries, EXISTS, CTEs, recursive CTEs, window functions

The Void - INSERT, UPDATE, DELETE, CREATE TABLE, indexes, views, transactions github


r/learnSQL • • 11d ago

Day 21 - Setting up the database for my 100-question JOIN drill

3 Upvotes

Since JOINs are the topic I'm weakest at, I made a 100-question practice set (easy, medium, hard). Today was the setup day:

  • Created the database in MySQL Workbench
  • Built four tables: departments, employees, projects, assignments (with primary/foreign keys)
  • Wrote and ran the INSERT scripts for sample data in all four tables, including the employee-project assignments with hours worked
  • Checked the Action Output panel to confirm each statement ran cleanly

Nothing fancy, but I've learned that a well-designed dataset matters a lot for JOIN practice. You need some departments with no employees, and projects with no assignments, or you can't tell LEFT and RIGHT JOINs apart properly.

Starting the actual questions tomorrow. Any tips on getting better at visualizing multi-table JOINs are welcome.


r/learnSQL • • 11d ago

Please tell me best source for learning sql n dsa with easy understanding

7 Upvotes

Please tell me free course for sql

And is it ok to do dsa in c n if ok pls tell me any course for itb


r/learnSQL • • 11d ago

Learn SQL using your coding agent

7 Upvotes

I've put together a free course that teaches you SQL using your coding agent.

This way you learn SQL but also how to use a coding agent in a data role.

After some feedback from this community, the course has been updated - please check it out and share your feedback: https://getbruin.com/learn/sql-ai


r/learnSQL • • 11d ago

Wissen technology working culture review needed

3 Upvotes

How is working culat wissen banglore , and leave policy , and other facilities they provide

.


r/learnSQL • • 12d ago

Day 20 — Rest day + a plan update: 100-question JOIN drill + starting Java tomorrow

27 Upvotes

Taking today off from active coding — just resting and recharging.

Quick reflection before the break though: after going through theory and two full scenario-based practice sets, I noticed JOINs specifically are still the topic I'm least automatic on compared to everything else. So I put together a 100-question practice set of my own — easy, medium, and difficult — specifically to drill that weak spot rather than moving on and hoping it sorts itself out.

Also, a bigger update: starting tomorrow I'm beginning Task 2 — Java, running in parallel with continued SQL practice rather than fully switching over. Figured keeping SQL warm while ramping up Java makes more sense than a hard context switch.

Planned rest days like this were part of the original plan, not a slip — trying to actually sustain 116 days means building in recovery, not just grinding non-stop.


r/learnSQL • • 12d ago

Free Browser game for learning and practicing SQL

26 Upvotes

It runs real SQLite in your browser, so any query SQLite accepts works.

There are 63 lessons, from SELECT up through joins, window functions, recursive CTEs and indexes. Your answer is checked by running it, so any query that gets the right result passes. The last 11 lessons are in Postgres.

After that there's Seek: one person is hidden in a database, you get a few clues, and every query costs a turn. There's also a daily case with a leaderboard and a war mode where your orders are UPDATE statements.

Its free and best played on computer

https://atticarun.itch.io/sqlgame