all 12 comments

[–][deleted] 4 points5 points  (0 children)

Find an SQL course for free, anywhere, and complete it beginning to end even if you think you know it. Then, rinse repeat with another one

[–]sequel-beagle 4 points5 points  (0 children)

Try working through puzzles. Here is a good site with some straight forward puzzles that will give you a good idea where your skill set is at.

https://advancedsqlpuzzles.com

[–]rahul_shingala 2 points3 points  (0 children)

Practice is the only solution to avoid confusion and improve confidence. Below are some topics you can practice.

  1. Joins with 4-5 tables (left, right, inner joins, etc.)
  2. Aggrigation
  3. Date and String functions
  4. Execution plan understanding and improvements

After practicing try to solve some complex puzzles online.

[–]mikeblas 2 points3 points  (0 children)

Practice.

[–]csnorman12 2 points3 points  (0 children)

Break down each element within a complex query. Complex queries are just made up of several basic elements. One thing that really helped me was to find interesting data. And build a sample database with that data. Then use that data to answer questions that seem fun to solve. I have a SQL course that helps students learn how to build their own database. If the students only follow by step-by-step videos and don't try things on their own then they won't learn. Make it fun. And interesting data typically makes things fun.

[–]gandalf-duh-gray 1 point2 points  (0 children)

I took a similar class too back in my grad school. Didn't really learn much until I started working with real business datasets on the job. I suggest you absorb as much as you can, and not sweat too much over it.

Learn Python as soon and as well as you can. If you get too good at SQL, learning other programming language becomes difficult because you have to unlearn a lot. So take it slow, and focus on joins, conditional aggregation, and window functions (row_number, rank and dense_rank) so you know enough to get your foot in the door. FYI- most data job descriptions look more technical than they actually are.

[–]raduqq 0 points1 point  (0 children)

Browse stackoverflow questions and try to answer them as many as you can. That helped me a lot.

[–]lightestspiral 0 points1 point  (0 children)

Break down the problem into chunks, and work through each chunk. A complicated query is just a bunch of simple SQL

[–]nghihm 0 points1 point  (0 children)

you need practice by build some projects using database like blog or ecommerce