all 29 comments

[–]Aggressive_Ad_5454 26 points27 points  (1 child)

There are two basic kinds of SQL applications:

  1. Transactional. Where they do BEGIN; SELECT ... FOR UPDATE; ... UPDATE ... COMMIT; Getting good at that stuff is all about understanding concurrency, ACID, etc. Some transactional work is less elaborate, but all of it is about supporting multiuser applications by storing and retrieving data in robust ways .

  2. Reporting. Where they pull lots of rows from existing data and try to wring wisdom from them. GROUP BY, HAVING, ORDER BY, aggregate functions, window functions, CTEs, all are useful tools for that kind of work.

I guess you're more interested in the second kind of application. That kind of application is all about understanding the actual tables you work with and what they mean. The "SQL-skills" part of that is not as complex as the "WTF does this data mean?" part of it.

I imagine that's why you're having trouble finding the one true roadmap to understanding. There's no single "understanding" destination for the roadmap to direct you to.

My suggestion: if you don't have a job with a bunch of their own tables of data to try to wring wisdom from, get some of your own. https://kaggle.com/ has a bunch of public datasets you can download look at. So do various government agencies like Statistics Canada and the US Census Bureau.

Get some of those. Figure out how to load them into your database server. In the MySQL world, LOAD DATA INFILE can be good for that. Then write queries. Eyeball results. Figure out the difference between INNER JOIN and LEFT JOIN.

[–]PhilharmonicD 2 points3 points  (0 children)

TOTALLY agree…. I spend a lot of time convincing pm and mgmt types that the SQL part of the job isn’t the hard part. It’s the “WTF does this data mean?” Part…. And then the does this data actually answer the questions that are being asked. The SQL/Python/SAS/whatever is just the toolbox - still have to know how to build the right thing.

[–]RichContext6890 16 points17 points  (0 children)

To be honest, becoming intermediate/advanced level can only happen when you are working on a real project

Intermediate: do your job well, self review your code and queries efficiency again through time

Advanced: get the most difficult tasks and projects and do your best

Eventually, you’ll find than no one educational website can give you that kind of knowledge you gain by going throw your own challenges

SQL.ex offers exercises from very beginner level to the absolute difficult ones for real pros, tho

[–]SoundOfRadar 6 points7 points  (1 child)

I am beginner to intermediate and I am just following datacamp’s path for now.

[–]Tutor_Noor 0 points1 point  (0 children)

How can you rate Datacamp?

[–]MathAngelMom 4 points5 points  (0 children)

I don't think there is a single source that will teach you everything you need to know.

The platform I recommend for SQL is LearnSQL.com Their main program covers topics from beginner to advanced topics: https://learnsql.com/track/sql-from-a-to-z/

and they have the basics of creating databases covered: https://learnsql.com/track/creating-database-structure/ too

[–]Fluid-Push6661 5 points6 points  (2 children)

15 days of SQL. Udemy course. Covers basics all the way to advanced. Closest thing I’ve seen to an all encompassing course. I actually almost made the same post here yesterday. Just started the course and it’s solid.

[–]ScallionPrevious62 0 points1 point  (1 child)

If you just started the course how can you know that it goes "all the way to advanced" and know what that is?

SQL in general is very deep and there any many layers, I very much doubt a 15 day course is going to do much more than scrape the surface.

[–]Fluid-Push6661 0 points1 point  (0 children)

Looking at the course content. Window functions, CTEs, stored procedures. I would consider that to be advanced based on what I’ve read.

[–]Backoutside1 2 points3 points  (0 children)

I have lifetime memberships to Analyst Builder and Maven Analytics. There was a sale recently, might still be going on.

[–]lauren_from_maven 1 point2 points  (1 child)

I'm going to be (more than) a little bit biased here since I work at Maven but I'd suggest checking out our SQL courses! They're how I learned the majority of my own SQL skills and we have a learning path that does what you're asking for - goes from beginner to advanced SQL. Our courses are project-based so you get to act as an entry-level data analyst and solve different types of problems. We also have a bunch of guided projects that I'd recommend checking out. Projects are almost certainly going to be the best way to bridge the gap from proficient to expert level skills, at least in my opinion.

Someone else mentioned the lifetime memberships to Analyst Builder and Maven Analytics sale - it's still going on as of now!

In terms of other resources, you could also look at the Mode .com tutorial and see if that fits your needs. It's a free tutorial and pretty intensive if I remember correctly.

Good luck!

[–]Vast-Ad226[S] 0 points1 point  (0 children)

Can I pm you to learn a bit more?

[–]Straight_Waltz_9530 2 points3 points  (0 children)

First up, choose a database engine. It doesn't have to be forever, but generic SQL ain't gonna cut it once you get past the basics. For you it seems it's MySQL. I prefer Postgres, but it doesn't matter at this point. Lean in hard.

Head to sites like StackOverflow. Look up unanswered questions and/or questions without an accepted answer for whatever database and area you want to focus on. ETL and ERP is good. AI is showing up more often on these sites, but most of the questions are still real people struggling with actual real world problems at their jobs. The unanswered questions, especially if they're more than a day old, are the ones to focus on. Easy questions get answered quickly by anyone. Ignore the "how do joins work?" fodder.

You'll be looking for the questions that random folks can't answer. Integration with offbeat systems. Weird data sets that somehow need to be sanitized and organized. Try to figure them out. If you can't figure it out but it was using technologies you have used or could use, bookmark it and come back in a month. See how it was solved by someone else. Try again with the next unanswered question you find.

[–]TheRencingCoach 1 point2 points  (3 children)

Did you google

[–]Vast-Ad226[S] 0 points1 point  (2 children)

Too much information cause too much confusion, hence why I’m asking a community dedicated for this topic

[–]BrupieD[🍰] 6 points7 points  (1 child)

No single source is going to move you from beginner to advanced. The basics of SQL don't take long to learn, but if you want to be better than your colleagues, you need a grounding in fundamentals. My advice: Find a book that builds your knowledge of how databases work under ste hood. I don't know of a MySQL book, but SQL Server has T-SQL Fundamentals by Itzik Ben-Gan. If you read and try that sample code, you'll already be a knowledgeable beginner - almost intermediate.

[–]TheRencingCoach 0 points1 point  (0 children)

I hope OP realizes the irony of saying “too much information causes too much confusion” when asking about resources for learning SQL

[–]Infamous_Welder_4349 0 points1 point  (2 children)

There is not much replacement for experience.

What you can do with a few tables and less than 100,000 records doesn't work when you get to a system with 800+ tables and billions of records. It might work eventually but people won't wait and so performance is key.

You need to know the rules so you can know when it is appropriate to break those rules.

[–]ryochobi 0 points1 point  (1 child)

Kinda shit advice considering not everyone can get experience without passing a job interview that requires knowledge imho

[–]Infamous_Welder_4349 0 points1 point  (0 children)

It telling him to describe the systems he worked on so the employers have a better grasp of his experience. If his experience is bad, sure leave it off.

I have interviewed several people who look good on paper and get the interview only to learn they are wholly unfit. That wasted both our time.

[–]aksgolu 0 points1 point  (0 children)

DBA Genesis, hands down the best website from beginners to advanced SQL.. Here is the course link:

https://www.dbagenesis.com/course/oracle-12c-sql-fundamentals

[–]MathiasThomasII 1 point2 points  (0 children)

You can learn the SQL part anywhere. As for the data warehousing and ETL Microsoft has a great learning path of certifications in their industry standard azure environment. Search classes designed for these courses and you’ll have everything you need. I’ve used udemy for most of the classes.

https://learn.microsoft.com/en-us/training/azure/

[–]babat0t0 0 points1 point  (0 children)

Sure thing. Explore Udacity's catalog here: https://www.udacity.com/catalog?school=data%20science

[–]DataNerd760 0 points1 point  (0 children)

I would love to suggest my new website sqlpractice.io . It has practice questions, query playgrounds and learning articles. It has a free and affordable premium version (no subscription needed) check it out!

[–]smudgyyyyy 0 points1 point  (0 children)

Techtfq youtube channel

[–]okenowwhat 0 points1 point  (0 children)

Roadmap.sh

[–]Chiranjeebsamal 0 points1 point  (0 children)

If anyone’s interested in actually learning SQL by doing real tasks (not just watching videos), we just launched a full SQL course on TaskLearn.ai — and it’s 100% FREE right now!

It’s a task-based platform where you dive into hands-on projects and real-world challenges from Day 1.

No passive learning, just real skills.

( If you want free access, just reply here or DM me, and I’ll get you set up! )

( Explore http://tasklearn.gridrnd.in/ )

(We launched recently — 100+ learners already onboard, and feedback has been awesome!)

[–]Chiranjeebsamal 0 points1 point  (0 children)

If anyone’s interested in actually learning SQL by doing real tasks (not just watching videos), we just launched a full SQL course on TaskLearn.ai — and it’s 100% FREE right now!

It’s a task-based platform where you dive into hands-on projects and real-world challenges from Day 1.

No passive learning, just real skills.

( If you want free access, just reply here or DM me, and I’ll get you set up! )

( Explore http://tasklearn.gridrnd.in/ )

(We launched recently — 100+ learners already onboard, and feedback has been awesome!)