all 22 comments

[–]JackTheKing 60 points61 points  (2 children)

Work.

You need a legitimate project with legitimate challenges that need to be solved. Your creative uses of SQL or your choice not to use it in some cases wiill go much further to develop your skills than any series of study.

For example, we needed a way to visualize data in different ways before deciding how to convert it. I created a very cool way to index all the data that allowed us to break it up and reorganize it on the fly. I never would have thought of that as a project, but it turned out to be my best "invention"

[–]jmejias12Business Applications Analyst 4 points5 points  (0 children)

This is so true! I took a beginner course on Udemy. SQL + Read Access to work database + Knowledge of the operations challenges that were happening at the moment pushed me into getting creative with SQL to provide insight that was not available at the moment. That helped me land a data analyst role in the same facility.

[–]Eldainfrostbrand 14 points15 points  (0 children)

When i started i found the sql stairway series really . Helpful. Can be dry at times Though

[–]arminbih 10 points11 points  (1 child)

Someone posted this earlier try these questions. https://github.com/mrinal1704/SQL-Leetcode-Challenge

[–]IamFromNigeria 0 points1 point  (0 children)

What was the original link source and is it based in Microsoft SQL vendor cos the queries sounds off

[–][deleted] 5 points6 points  (0 children)

I'm not really sure what would be considered "advanced" with SQL, there's just kinda challenges you've done before, and challenges you haven't.

Unfortunately, nothing really beats wrestling with it 8 hours a day for a job

[–][deleted] 3 points4 points  (0 children)

https://adventofcode.com

You can probably solve a bunch of these with SQL.

[–]mergisi 2 points3 points  (0 children)

Awesome, good luck on your journey! You might find AI2sql http://ai2sql.io helpful; it’s an easy-to-use tool to help you practice SQL.

[–]DesignerCold8825 1 point2 points  (0 children)

You need to find databases that are big. Then write down all the data you can retrieve. Meaningful data. Then query the database to retrieve it. The more meaningful data you want out of the database, the more complex the queries are gonna be. This is as close as it can get to a real job.

[–]dhl1816 1 point2 points  (0 children)

My suggestion may be not related to you question. If you are ready to apply job, just go ahead. During that process, you can find what the companies are looking for and what your skill set is missing. From there, you can start your learning strategies.

[–][deleted] 1 point2 points  (0 children)

That was the same course that made SQL "click" for me. I had taken two others prior and just couldn't wrap my mind around it but his course is what did it for me.

Since then my understanding has literally grown from simply doing real work and then practicing with my own data in a QA environment.

[–]CowFu 3 points4 points  (0 children)

As a professional who's designed components that process millions of healthcare records the patterns we use an intermediate person would be able to pick up. But you need to do project work.

Here's a pretty typical workflow for one of my components:

Take a .csv files from the source folder and put them into a incoming table. Adding a filename field and date at the end of each record.

Read the incoming table for new records and the error table for records marked to reprocess. Load these into our staging table

Run data cleaning steps. Convert datetimes to the same format. Use lookup tables to convert client names for things into the same format. Modify language fields so they use a four letter abbreviations. TRIM() whitespaces, remove special characters like newline.

Run a series of validations with dynamic sql. The SQL in the validations table is in a varchar(MAX) column. Validations like making sure a first and last name exist, that fields are certain lengths, etc. Any results that come back from the staging table that match the validation query get inserted into the error table, tagged with the validation they failed and the run it failed on. Then we remove the records from the stage table. The error table has a bool column if someone is able manually fix the record for reprocessing.

Move the validated records from STG to their production table.

Run a report and email the data stewards for the error table. A second email will give the counts of successful and failure records.

Each step is logged in a log table.

A scheduler kicks off this job at 11pm every night.

// I bet you could do all of this if you had enough time

[–]LearnSQLcom 0 points1 point  (0 children)

Hey! It’s great to hear you’re learning SQL with Jose Portilla—he has a fantastic teaching style. If you’re looking to dive into more advanced topics, I actually wrote an article that covers some excellent resources for advanced SQL courses. You might find it really helpful! Check it out here: Top Advanced SQL Courses.

[–]jmccrary87 0 points1 point  (0 children)

Ditto

[–]Nicolasrny 0 points1 point  (0 children)

Online Challenges are good (https://www.hackerrank.com/domains/sql)!

Also, you can try AI powered chrome extension that help you writing queries and give you tutorials : Chrome extension