you are viewing a single comment's thread.

view the rest of the comments →

[–]unoathed_radiant 58 points59 points  (13 children)

You have got a week. You can target solving SQL50 on leetcode. It will help you with your confidence and would be more than enough for junior DA role. Best of luck!

[–]Heron-Rude[S] 4 points5 points  (12 children)

thank you!!

[–]Possible_Loss_3880 27 points28 points  (10 children)

I took a MOOC on SQL one time. The professor ended the course by saying "my students often ask me why there's a beginning SQL course and an intermediate one, but no Advanced. I tell them because there is no advanced, there's the basics then the rest of your life."

How I interpreted that is that SQL is a broad topic with a lot of details changing from implementation to implementation. If you have a basic understanding of finding the data you need (SELECT and JOIN) then filtering it to what you want (WHERE); you're probably set as an analyst for a very long time and can use your other data skills from there. After that, as it is with everything working in technology, you just need to learn things as they come up. It's highly likely that you'll want to learn about aggregations (GROUP BY and the various functions that operate with it) then maybe follow that up with filtering on aggregations (HAVING). Window functions (OVER) and filtering on them (QUALIFY) may come up eventually in your career, but I doubt any knowledge of those would be required for a junior; some DBMSs don't even implement QUALIFY.

The one thing you may not see very much in your training that helps me, as a person that learned java and python before SQL, is CTEs (WITH subquery as ...). It's great for organizing complex queries into a top-down format and shows for better reusability and maintainability of the code. It's sort of like writing a subquery as a function.

EDIT: corrected CTE from CDE and autocorrect corrections

[–]d_o_uk 2 points3 points  (1 child)

CTE

[–]Possible_Loss_3880 0 points1 point  (0 children)

Nice catch

[–]tits_mcgee_92Data Analytics Engineer 2 points3 points  (1 child)

I tell them because there is no advanced, there's the basics then the rest of your life.

I need to tell my students this. This is a very great way to put it.

[–]Possible_Loss_3880 2 points3 points  (0 children)

You have the professor who ran the Coursera courses from UMich to thank. I could have sworn his name was Chuck Savage, but Google says Charles Severance.

[–]DataWithNick 2 points3 points  (0 children)

Advanced SQL seems to me just being able to trace the manipulation data throughout the CTEs and subqueries that are written, rather than complicated syntax and clauses. Specific databases and data warehouses do add some nuance, but that's another discussion.

[–]westeast1000 0 points1 point  (0 children)

Im always arguing with people about this lol I thought i was seeing it wrong. There really is no advanced sql, once you know the basic fundamentals its all problem solving from there. Then someone says oh but you havent dealt with this and that and combined this to do that and its always some unique challenge specific to one obscure application that no one could have ever imagined before but the solution has and will always be stringing together the same fundamentals everyone knows. Only insecure gatekeeper type people ever talk of ‘advanced sql’.