READ THE NOTES AND CREDIT FIRST, I DIDNT KNOW YOU CAN RUN OUT OF SPACE IN THE NOTES AND CREDITS: (Just skip through all of this, this is very lengthy and you will save your eyes from confusion) Currently at 3: 0: Has not heard of SQL or is confused about what it is. Is uncomfortable with seeing code. 1: Understands what SQL is and knows the basic form of Select From Where. (Caution: May select * from the largest table available.) 2: Has some understanding of left joins and can usually use and/or operators within the where clause. 3: Is familiar with left/right/inner joins, as well as basic aggregation, but sometimes struggles with these concepts. 4: Confident with joins and beginning to work with subqueries/CTEs to build more complex queries. 5: Generally able to answer most data questions within a familiar database but can get stuck. Learning how to effectively Google solutions. 6: Can answer almost any data question, but sometimes takes a long time to do so and ends up with convoluted solutions. Often fails to consider edge cases. 7: Can answer any data question and almost always does so in a reasonably coherent (but not necessarily optimized) way. Beginning to think about query optimization and readability. Considers edge cases but may occasionally miss some. 8: Familiar with query optimization. Chooses among multiple possible solutions with knowledge and intention to balance readability and optimization. Handles edge cases effectively. 9: Able to effectively design small databases. Creates stored procedures / ETL processes that are scalable, well-optimized, reliable and appropriate for use across a business. 10: Can design the architecture for large-scale data solutions. Has some knowledge of related fields, including database administration and can coordinate effectively with people in those fields. Further advancement is dependent more on management and strategy skills vs. SQL skills. Tier Analyst S PLAN ESTIMATES, PLAN CACHE A EXECUTION PLAN, QUERY HINTS, HASH / MERGE / NESTED LOOPS, TRACE B DYNAMIC SQL, XML / JSON C RECURSIVE CTE, ISOLATION LEVEL D RANKING, WINDOWED AGGREGATE, CROSS APPLY E SUBQUERY, CTE, EXISTS, IN, HAVING, LIMIT / TOP, PARAMETERS F SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY If you actually read all of that congrats. But regardless, I will be leaving scratch for two weeks to study and really focus on completing my goals… so uh bye!
Tomorrow will make the halfway point of my entire month of grinding SQL! I had days where I felt like I want to give up, had days where I felt like I was too stupid to do learn all of this, or that i wouldn’t make the half way point but here we are! The halfway point. This is probably the hardest I ever worked on something I want to achieve. And I’m definitely proud of myself for reaching here :D The last two weeks has been me learning what each SQL function does. Basically I did as I said in the previous update, I did SQLZOO, SQLBOLT. I was about to do mode’s sql tutorial but fell out of motivation to do it, hopefully to start again next week. I also did W3schools tutorial on EXCEL, but just really getting used to the spreadsheet and learning the different buttons on the ribbon and blah blah. But next month I will start grinding that as well. I basically had to entirely quit going on social media, listening to music, watch news, etc just to cut out of distractions entirely, because last I tried to learn sql, I basically fell right out of it instantly. So the start of the third week of my grinding, I started to actually do some actually interview questions! I did about 60 easy interview questions on various sites like LeetCode, Stratascratch, SQLGuroo, HackerRank, and data lemur. This is how I did (x means I got it correct): In Total: 34/60 (56.67%) Leetcode (3/12) (2) - [x] Question #1 Question #2 - [x] Question #3 Question #4 - [x] Question #5 Question #6 Question #7 Question #8 Question #9 Question #10 Question #11 (Very Close) Question #12 (Very Close) SQLGuroo (6/12) - [x] Question #1 (Could practice more) - [x] Question #2 - [x] Question #3 - [x] Question #4 - [x] Question #5 - [x] Question #6 Question #7 Question #8 Question #9 Question #10 Question #11 Question #12 HackerRank (11/12) - [x] Question #1 - [x] Question #2 - [x] Question #3 - [x] Question #4 - [x] Question #5 - [x] Question #6 - [x] Question #7 - [x] Question #8 - [x] Question #9 Question #10 - [x] Question #11 (Made a mistake) - [x] Question #12 DataLemur (5/12) (2) Question #1 - [x] Question #2 (using Hint #1) - [x] Question #3 (Could practice more) - [x] Question #4 - [x] Question #5 (Using Hint #1/Practice again) Question #6 Question #7 (Very Close) Question #8 - [x] Question #9 (Could practice more) Question #10 (Very Close) Question #11 Question #12 Stratascratch (9/12) (1) Question #1 - [x] Question #2 (Using Hint #1) - [x] Question #3 (Using Hint #2/practice again) - [x] Question #4 (Done all by myself, took a bit of time) Question #5 (Very close, got confused) - [x] Question #6 (Forgot usage of Distinct but solved by myself) - [x] Question #7 - [x] Question #8 - [x] Question #9 - [x] Question #10 - [x] Question #11 (Using #Hint 1 (again forgot Distinct) Question #12 So roughly I got 57% correct, which when doing this for the first time isn’t too bad. What I’m going to do for the rest of the month I have is basically look at the questions where I missed or failed on and understand the real solution. I’m not going to just look at the solutions and try to memorise it, but try to understand how each piece of code actually make the solution works. Then on the 22nd of January (Doomsday) I will take all 60 questions again then see what score that I got this time, which I will be happy to tell you guys the new improved score. Then 23rd to February 1st would be me actually taking a break. And then I start up again to by doing to rest of the easy questions, learning how they work if I miss on any of them, then moving onto the medium questions. The medium training would basically have me training for two months instead of one this time. Regardless of all of my failures and successes, I’m am confident I can reach the level of SQL and EXCEL I want to be. It’s hard. But soon enough it will *click* then I can basically raise myself on own (stolen) levels to track my progress: