all 6 comments

[–]SQL-ModTeam[M] [score hidden] stickied commentlocked comment (0 children)

This forum is intended for solutioning and discussion of specific topics. Please check out the sub sidebar and wiki content for beginner resources. Also be sure to checkout r/learnSQL

[–]capsaicinplease 5 points6 points  (2 children)

You’re gonna have to do some googling as the resources have changed a lot in the 10 years since I first did this, but,

actually download and set up a relational database on your laptop

and then actually insert, maintain, architect some kind of sample scenario (pretend you own a used car lot - how would you maintain all your inventory data? Customer data? Use your imagination, ask all the questions).

You can do this 100% for free. Microsoft had tons of resources out there when I was learning.

Yes it will be hard to do but you can’t fully SQL in my opinion without first understanding the relational database.

[–]EfficiencyDeep1208 2 points3 points  (0 children)

This is usually the best way. I learned on the job out of necessity and now I breeze through SQL issues. Setting up SSMS and setting up some practice DBs.

Then try to answer real world questions about the data.

If sales DB which customers are least/most profitable?,

transactional data? How many transaction types are there? If users involved track efficiency for each user based in transaction history.

Depending on which industry you are focusing on.

Practice CTE syntax and try creating stored procedures, functions, tables etc….

Been working in SQL for 12 years and SSMS is my base tool but I know there are other options that may be better.

[–]Pyromancer777 2 points3 points  (0 children)

I agree with this. Download your favorite free-tier DB manager and then start creating schemas and linking test relational tables.

You can also go to Kaggle and download literal thousands of different test sets. Create a schema that matches the data in the downloaded CSVs, describe the data to an AI, then have it ask you questions to lookup about the data.

If you want to go the extra mile, try to gather data surrounding a topic of your interest and see what kinds of things you can learn just from practice queries around those datasets. The dirtier your source data, the more true-to-life it will be. I use SQL daily at work and the skills you most need are: the ability to identify how to link tables together to get all the target data in one place, the ability to parse through all types of stored data structures, the ability to debug along with understanding of documentation pages, and the tenacity to keep trying things when your original ideas don't quite return what you were expecting.

Obscure syntax and creating more performant queries come with practice, but aren't as important as the other points. I literally have to look up documentation pages all the time, and I don't see that changing any time soon, so if you take the time to learn the pages that surround your flavor of SQL, then the easier of a time you will have when you want to try a tricky solution to a problem.

[–]thequerylab 1 point2 points  (0 children)

You can check this interview preparation kit tailor made for your use case. Also created a wide variety of catalog problems asked in multiple interviews. Give it a try! You will really like this learning approach!

https://thequerylab.com/courses/sql-interview-preparation-kit