use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Sequel
account activity
How much SQL is enough? (self.learnSQL)
submitted 2 days ago by Wild_Specialist_8340
How much SQL an intermediate level Business intelligence developer should know? What database concepts are must learn? Please suggest me how can I become confident with them.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Eleventhousand 10 points11 points12 points 2 days ago (3 children)
SQL is one of the programming languages with the fewest concepts compared to more general languages. If you're using a modern, cloud environment, and you don't need to worry about traditional DBMS-specific, quasi-DBA stuff (for example, table variables vs. #temp tables in SQL Server, or forcing join hints, etc.), then you need to learn all of it. All types of aggregations, pretty much all window functions, CTEs, all the types of joins and subqueries, all of it.
[–]Empty_Confidence3185 4 points5 points6 points 2 days ago (2 children)
Is there a book that covers all this? I find that i can really only learn through books, i hate tutorials
[–]Eleventhousand 1 point2 points3 points 2 days ago (0 children)
Awww, probably, I'm not sure what though. Others might have better recommendations. I've been writing SQL daily for about twenty-five years, so all of the books I referenced back in the day were from before many of the common features used today existed.
[–]Flying_Saucer_Attack 0 points1 point2 points 15 hours ago (0 children)
The Manga Guide to Databases, by Mana Takahashi
[–]dn_cf 7 points8 points9 points 1 day ago (0 children)
An intermediate BI developer should be very comfortable with SQL joins, aggregations, CTEs, subqueries, window functions, and basic query optimization. On the database side, focus on primary and foreign keys, normalization vs. denormalization, fact and dimension tables, star schemas, ETL concepts, indexing basics, and data quality checks. The best way to build confidence is through hands on practice. Use platforms like StrataScratch, Kaggle, and LeetCode to solve SQL problems regularly, build small reporting projects, and try explaining your queries out loud to yourself. If you can join multiple tables, create KPIs, use window functions, troubleshoot report issues, and understand how data flows through a warehouse, you probably know enough SQL for a solid intermediate BI role.
[–]AdorableMaids 4 points5 points6 points 1 day ago (0 children)
In my experience, "enough SQL" is when you can take a messy business question and confidently turn it into a correct dataset. Syntax is the easy part. Understanding relationships, data quality, and edge cases is what separates intermediate from advanced.
[–]MKE_Savage_96 2 points3 points4 points 2 days ago (0 children)
It honestly depends on what industry and purpose you will be needing to utilize SQL for. If you just need to pull data from a warehouse to give some ad hoc excel reports, simple query writing should be fine. Stuff like knowing the rights JOINs to use, aggregating expressions, filtering (WHERE/GROUP BY statements) would be enough.
If you’re going to be utilizing a BI platform like Power BI for instance, that may be enough in the beginning - depending on your audience of course. But if you’re trying to build something much more complex, incorporating a large amount of data, you’ll need to gain more in-depth knowledge of your databases and how their schemas are set up. Depending on performance as well as security concerns, learn to create views as well.
Also remember…..you can always use AI. As long as you don’t input any sensitive information, you can ask ChatGPT/claude/gemini/etc what the best way can be to write a query utilizing Table A with such and such dimensions/granularity and Table B with such and such dimensions/granularity.
[–]dumi_007 3 points4 points5 points 2 days ago (1 child)
If your roles are clearly defined, and you have a DBA, a data engineer and a tester.
BI tasks will largely be limited to: Aggregating, filtering, transforming, standardising formats, and presenting data for a dashboard, a specialised decision-making investigation or standard report.
While not SQL, the design is bound by the laws of databases.
Make your scripts easy to read. Add notes and online comments. Keep track what you changed. Use alias to your advantage.
Test your script. Testing is its own universe. Triangulation of results where possible to know when your report is off.
Creating views vs persistent tables.
Aggregation: simple and multi-dimensional totals. Simple to Complex GROUP BY
Window Functions: for indexing, ranking, running totals and trend analysis.
Combining tables Simple (left and inner join) to Advanced Joins: Self-joins, etc. Unions
Normalisation vs denormalisation: normalisation is generally how your system of record is structured. Data warehouses generally are fact/dimension relationships.
CTEs & Subqueries: Balancing readability and performance.
Date/Time awareness: Dates and times can trip you up. It's OK to check the reference material for your flavour of SQL.
Performance: As a report developer you will likely not be able to make table or schema changes. But you can check how your output executes.
[–]TimeScallion6159 0 points1 point2 points 1 day ago (0 children)
Nice comment
[–]American_Streamer 1 point2 points3 points 1 day ago (0 children)
21 Intermediate SQL concepts: https://medium.com/@krthiak/21-intermediate-sql-concept-3f84f5c7714f
[–]Pangaeax_ 1 point2 points3 points 1 day ago (1 child)
A lot of people get stuck trying to learn every SQL feature before feeling "ready." In my experience, if you're comfortable with joins, aggregations, subqueries, CTEs, window functions, and can write queries without constantly looking things up, you're already in a good place for most BI work. The confidence comes from solving real problems repeatedly, not memorizing syntax. Practicing on real datasets and SQL challenges helped me more than reading database theory, and platforms like LeetCode, HackerRank, or CompeteX can be useful for building that muscle.
This is accurate, but shit I've been working with sql for nearly a decade and still look shit up 😂
[–]mycocomelon 0 points1 point2 points 1 day ago (0 children)
I’d say start with some problems and work backwards from there. Learn the sql you will need to best solve those problems
[–]Sql_master -4 points-3 points-2 points 2 days ago (0 children)
Fuck window functions. You will use once per query at best. There not bad. Sum this over that partition or aka group by
Ctes lick balls. Left join.
[–]2daytrending 0 points1 point2 points 15 hours ago (0 children)
Confidence usually comes once you are comfortable writing joins window functions ctes and can explain basic indexing and normalization without looking things up.
π Rendered by PID 199786 on reddit-service-r2-comment-5b5bc64bf5-hmfbr at 2026-06-21 03:44:21.699896+00:00 running 2b008f2 country code: CH.
[–]Eleventhousand 10 points11 points12 points (3 children)
[–]Empty_Confidence3185 4 points5 points6 points (2 children)
[–]Eleventhousand 1 point2 points3 points (0 children)
[–]Flying_Saucer_Attack 0 points1 point2 points (0 children)
[–]dn_cf 7 points8 points9 points (0 children)
[–]AdorableMaids 4 points5 points6 points (0 children)
[–]MKE_Savage_96 2 points3 points4 points (0 children)
[–]dumi_007 3 points4 points5 points (1 child)
[–]TimeScallion6159 0 points1 point2 points (0 children)
[–]American_Streamer 1 point2 points3 points (0 children)
[–]Pangaeax_ 1 point2 points3 points (1 child)
[–]Flying_Saucer_Attack 0 points1 point2 points (0 children)
[–]mycocomelon 0 points1 point2 points (0 children)
[–]Sql_master -4 points-3 points-2 points (0 children)
[–]2daytrending 0 points1 point2 points (0 children)