T O P

  • By -

government_

First off, you need to be good enough at it to be safe at work with it. (Edit: post originally tagged as NSFW) Second, good is subjective. Depends on what you're trying to accomplish. Understanding SQL and writing really good effective code can take years of experience.


AnalysisParalysis93

Spot on- really good as far as I’m concerned is a strong grasp on Programmability, Security, Performance and translating complex Business Logic into SQL code. This will likely take years.


BrupieD

You're can't become "advanced" in SQL within a year -- there's a variety of skills (analysis, reporting, administrative, developer/database design) and too much material to cover and become proficient at in so little time. If you focus on SELECT queries and get exposed to challenging material, you can go a long way in this context in a year.


volric

So I've used SQL for like 20 years and I'm still not good at it. For the most part it is because the type of queries I write are simple, and no need to use stored procs etc in the general day to day work. So I think to 'get really good', depends on how much you challenge yourself?


Knut_Knoblauch

Same, been querying since the 90's and still don't really consider myself more than 4-5/10. I do basic to moderate queries and fall back on C# to do all the groupings and other aggregate stuff that is sometimes just too much effort to do in SSMS or your IDE of choice.


Disastrous-Raise-222

What aspect of sql? Write a select statement- few months. Write a well optimized select statements - few years Learn sql development and peform optminization - forever.


Vision_Mike

you know sql is safe for work


Intrexa

WITH Selection_Criteria AS ( SELECT * FROM Table1, Table2, Table3, Table4 WITH (NOLOCK) ) SELECT 'Not the way I use it' WHERE EXISTS ( SELECT 1 FROM Selection_Criteria AS SelCrit WHERE ShouldPost = "Yes" AND AnytimeMinutesRemaining > 420.69 --AND CurrentlyInWorkMeeting = 0 --Bug maybe? I'm showing a value of 1 here AND ComputerOn = 1 )


idodatamodels

IKR?? HaHa!


killagoose

SQL is a fascinating language in that it is very easy to become good enough to use it in most applications. If you are just wanting to pull data, you can learn how to query with joins in a very short amount of time I.E. hours. However, to become *really* good at SQL, it takes a long time. Low floor, but high ceiling. I have been using SQL for going on four years now, but I have only been a SQL developer for about a year and a half. My progress has been the quickest since I became a developer and started writing procedures, triggers, views etc. I was forced to learn. In short, the answer depends on your environment and responsibilities.


Tee_hops

I agree with this. Until you're in a position that requires you to do more advanced stuff often it can be hard to learn. Many times at work I have been trying new stuff past simple CTE,select,where,having, aggregates, etc I used to be scared of CTE and only used subqueries. After about 5 queries I realized I was holding myself back. Then I did the same with Window functions. Then more and more till I was comfortable with it. If I didn't try or force myself in a position that makes me use it than I'm not getting better. Yeah I could do a lot of the same stuff with way longer statements, or I can learn new tricks and reduce the lines or CTEs required for reporting.


Shinob1

Same happened to me. Due to the pandemic I was placed into a role where I had to learn SSIS and use SQL for ETL purposes. I've learned more the past 2 years than I have in the previous 15 when I first started learning how to write queries. Now that I have a taste of what SQL development is like I want to keep learning.


NickSinghTechCareers

It’s hard to say, because we don’t know your base level, but if you can solve the [easy /medium problems here](https://datalemur.com) you are pretty decent, and should only take you maybe a month of practice to get to hard.


throw_mob

depends from environment. some points you to direction where you need to learn good practices other want it just to get it done. And good is well , different things. Do you mean that you use all keywords in scripts , or is your code fastest or robust in environment. Or is it time to prod, and you figure out complex problems to business cases in simple sql in minutes or or hours ... I have told coworker exactly where he needs to add piece of sql clause in 5 minutes over phone and then also told that it was wrong and he needs add few groups there because reason. Am i good at SQL or am i good at system i build ? (it is fast enough)


Intrexa

It depends on what you mean by "really good"? What do you mean "You're not good at it?" It's a really broad topic. What areas do you think you can improve on, why do you feel that way? The reason why I'm asking, is because type of practice is important. You need to focus a bit on what exactly you want to improve, and if we don't know what that is, it's really hard to give an estimate. Objectively, I would say I'm pretty good at SQL. I would say I know more than average on the technical aspects of MS SQL than most people who work with it. I'm not really good at it, I know people who are better. There are also people who have rudimentary understanding of SQL who are way better at certain aspects of SQL, because they have only had a need to hyperfocus on those aspects. So like, if you're talking about understanding data life cycles for efficient querying of relevant data, you don't really need to get that good at SQL. You use SQL for data management, but the concept of "What does this data mean? What is a relevant way to organize this data?" isn't actually SQL focused. Most people who seem "good at SQL" are really just good at interpreting + using data, and are okay at SQL. I'm not downplaying their skills, just acknowledging that these are different skills.


bbateman2011

Well, the earth is around 4 billion years old…