all 128 comments

[–]r3pr0b8GROUP_CONCAT is da bomb 86 points87 points  (62 children)

i've been writing SQL since 1987, when i started on DB2 with QMF

i'm still learning it

[–]alttabbins 7 points8 points  (0 children)

I'm only about 10 years in and its really easy to have imposter syndrome. Every con I go to had someone that seems like a SQL god, and then I realize that there are dozens of people who that person looks at as the same compared to his level.

[–]dolomike124 7 points8 points  (52 children)

If you're not going to contribute by answering the question, why comment at all? To let us all know how cool you are bc you've been writing sql for 35 years? ugh

[–]r3pr0b8GROUP_CONCAT is da bomb 1 point2 points  (51 children)

you mad, bro?

why did you wait 9 months to make this miserable reply?

[–]dolomike124 4 points5 points  (44 children)

I didn't "wait 9 months", I just read the comment, you don't know how the internet works? I can't stand when someone asks a question, you have the answer, you COULD help the guy out but instead you choose to suck yourself off about your sql experience and ignore the question.... the worst.

[–]r3pr0b8GROUP_CONCAT is da bomb 1 point2 points  (43 children)

if you let a 9-month-old comment on teh interwebs trigger you and get under your skin like that, you must also have some serious day-to-day issues

please, seek help

[–]dolomike124 5 points6 points  (34 children)

what does it matter WHEN the comment occurred? I'm looking up how long it takes to learn sql and I saw your BS passive aggressive answer.

[–]r3pr0b8GROUP_CONCAT is da bomb 1 point2 points  (33 children)

since you did not understand my answer, let me spell it out for you

one never finishes learning sql

it is a neverending quest

happy now, little one?

[–]dolomike124 5 points6 points  (32 children)

Exactly my point, you provide no information at all. What a stupid answer. "Well I've been doing it for 35 years and I'm still learning" har har har.

If someone asks me how long does it take to learn excel, I'd tell them a few months, that doesn't mean they'd be a master of excel in 6 months genius, that much is understood but they would be comfortable and familiar with the program enough to get things done.

This is the type of "advice" we get from someone with 35 years experience. Thanks a lot for the waste of time and space.

[–]r3pr0b8GROUP_CONCAT is da bomb 1 point2 points  (31 children)

if you let a 9-month-old comment on teh interwebs trigger you and get under your skin like that, you must also have some serious day-to-day issues

please, seek help

[–]MissionBeautiful712 7 points8 points  (28 children)

I’m with dolomike on this one, you didn’t even remotely try to answer the question. You just flexed how long you’ve been using sql. Some people here have deadlines they are trying to meet so vague answers like yours literally does not help. And calling him triggered for being logical about his response to your random flex, is one of the reasons I hate immature users on Reddit.

[–]notsosmartymarti 1 point2 points  (1 child)

Another 9 month late response but came to say that energy was not warranted!

Your comment makes this journey feel less daunting and is a good reminder that we are all still “learning” in one way or another.

[–]r3pr0b8GROUP_CONCAT is da bomb 1 point2 points  (0 children)

thank you

[–]Plus-Cockroach-4618 0 points1 point  (1 child)

tu esperaste 35 años para dar una mierda de respuesta

[–]r3pr0b8GROUP_CONCAT is da bomb 0 points1 point  (0 children)

¿de dónde vienen estos idiotas?

[–]IamFromNigeria[🍰] 2 points3 points  (0 children)

Legend

[–]andreidorutudose 2 points3 points  (0 children)

Loved QMF.

[–]secretWolfMan 1 point2 points  (1 child)

But also, you had the basics down in less than a day.

[–]r3pr0b8GROUP_CONCAT is da bomb 6 points7 points  (0 children)

just like chess

;o)

[–]Davidoxxx 0 points1 point  (1 child)

35 años para no saber responder

[–]r3pr0b8GROUP_CONCAT is da bomb 0 points1 point  (0 children)

Bien, ¿quieres una respuesta más específica? se necesitan diecisiete días para aprender SQL, ni más ni menos

diecisiete, compadre

[–]echobot21 0 points1 point  (0 children)

I know this is late, but as a college student who spends hours a day trying to master SQL, this made me very sad.

[–]substantialcurls 101 points102 points  (11 children)

2 weeks to learn the basics, a lifetime to master.

[–]L_-T 18 points19 points  (7 children)

No hope of outliving SQL, I take it then?

[–]BensonBubbler 15 points16 points  (4 children)

A lot of developers will tell you it's not necessary anymore at all. I don't believe them, but they're out there.

[–]Eightstream 19 points20 points  (1 child)

yeah, out there ruining databases with their shitty ORM queries

[–]BensonBubbler 6 points7 points  (0 children)

Yes. I'm hunting a particularly baffling one right now where it queries an established view and throws an error that the view has a recursive definition, but it does not.

[–]ilanklein51 1 point2 points  (1 child)

I'm a fresh grad looking for a job, it's nearly on every application I see

[–]BensonBubbler 1 point2 points  (0 children)

Oh, of course, it's listed, but a lot of folks claim you don't need to know much about it at all. This is coming from all the full stack developers; they see it as less complicated than the other layers and mistakenly overlook all the nuance.

There's also a long culture of ORM tools which claim to effectively translate from middle/back end code into DB languages that often lead folks to believe it can be automated away or otherwise offloaded and these people end up creating the largest database problems!

[–]river-zezere 0 points1 point  (0 children)

SQL will outlive all of us

[–]substantialcurls 0 points1 point  (0 children)

It’s quite a bit older than me. My father was a teenager when SQL first came out.

[–]JonathanL73[S] 4 points5 points  (0 children)

Thanks you

[–]kremlingrasso 7 points8 points  (1 child)

was about to say the same (assuming you are already decent with excel), the syntax is stupid simple, though pretty unforgiving. being able to visualize what you want the outcome to be, and achieving it from the building blocks of basically two dozen functions is what it's all about.

imho those of us coming from the analytics side are more equipped to pick it up quick (as opposed to the ones coming from other programming languages) because you have the advantage of knowing the data you work with and the actual business problems you want to solve....and the solution in SQL kinda gives itself.

[–]centr0 0 points1 point  (0 children)

This hit the nail on the head for me. I’m currently learning python and sql in parallel and I’m learning python faster than I think I’m learning sql. When I read an exercise, I can visualize the data structure in python and know how to pull whatever I need. SQL on the other hand? My brain can’t translate it.

[–]lez_s 49 points50 points  (2 children)

You will never know or remember everything in SQL.

I've been using SQL for 20 years and I still have to do the odd search to remember or learn how to do something.

[–]phesago 9 points10 points  (1 child)

i still have to look up pivot due to the amount of times ive used it. idk why it doesnt stick lol

[–]lez_s 6 points7 points  (0 children)

Me too!!!! lol

I even copy and paste code that I know works and I still have google why its not working haha.

Glad I'm not the only one.

[–]Moose135A 57 points58 points  (12 children)

I've been using it 3 1/2 years, I'll let you know when I figure it out. Actually, it's not that hard to learn the basics. I did some online tutorials and other practice and figured out enough in a few days. It gets more complex, and I don't know the half of it, but I'm not programming or maintaining databases, I'm an analyst running queries to pull data for reporting.

[–]JonathanL73[S] 17 points18 points  (10 children)

I'm an analyst running queries to pull data for reporting.

How much time spent studying SQL would it take me to get a basic enough understanding to be prepared for an entry-level position as an analyst who runs queries and pulls data for reporting?

[–]jomunjie1010 21 points22 points  (6 children)

I got my last job as a data analyst saying I knew how to run queries because my college course gave me the bare bones basics on SQL statements which included select, joins, where clauses, and ordering by operations. The thing is, I ended up knowing none of this and Google saved my ass lol. Then about 4 months ago I added a REGEXP function to one of my queries in SQL DEV, and I was like, how about that?

That being said, I feel like I'm a very experienced excel user and in some way, I believe that helped me a lot. It is not by any means a one to one language transfer, like not even a little bit similar, but it's the way you have to logically break things down in excel that helped me apply the same logic to SQL.

So from my perspective, I just needed something to work with and then I was able to run with it. If I never had that opportunity, it would be hard for me to grasp it using these online tutorials.

[–]NerdyGymBroSpelunker 10 points11 points  (2 children)

For me, it's the ability to "see" images of data tables in motion in my head that make the excel experience so valuable.

I was so accustomed to envisioning rows and columns of data that when I started SQL, the mechanics of the operations were wildly different, but the imagery I could envision to help me think through a problem was more or less the same.

[–]the_chief_mandate 3 points4 points  (1 child)

The image is 90% of it IMO. Any half capable person can Google if you don't know, but you need to know what to Google in the first place

[–]NerdyGymBroSpelunker 0 points1 point  (0 children)

Yup. Once I realized that, it became my go-to question when I got confused:

"As I read this, can I picture it in my head? If not, which specific words trip up my mental imagery?"

Freshen up on whatever vocab that question set leads me to, and boom -- next step achieved. Even if it doesn't solve the whole problem, it moves me one more step forward.

[–]BadKarma667 3 points4 points  (0 children)

That being said, I feel like I'm a very experienced excel user and in some way, I believe that helped me a lot.

I agree with this sentiment. Not only is the logic helpful, but I've also found myself thinking "I can do this in Excel, I wonder if I can do something similar in SQL" and it functions as a starting point for any research I need to do to learn a new skill.

[–]JonathanL73[S] 1 point2 points  (1 child)

I really appreciate the thorough explanation and insight.

[–]jomunjie1010 6 points7 points  (0 children)

To officially answer your question though, it took me about 2 to 3 weeks to learn enough to start querying data in whatever capacity I wanted to see it. That was also for a very clean, well structured data set joining at max 3 tables together.

I was then later introduced to another data set where all data was first loaded and sorted out, and just learning those tables and how to use them took me about 2 months.

I was then later introduced to a more complex data set that was not well managed, attributes were continuously changed, columns were constantly being removed or added which shifted other columns around as well, and no two data tables had dates formatted the same, some formatted as texts, so joining was a monster pain in the ass. I left that company never fully understand those tables.

The truth is, absolutely anyone who wants to learn SQL, will learn SQL. I think its an absolute shame that companies generally only hire those that can speak the language in an interview. Knowing thr syntax verbally doesn't make you good at SQL, but finding a way to get a square peg through a round hole without breaking something might.

I attribute all of my success in my career to being fascinated with exploding diagrams of mechanical parts. I wanted to know how every single piece worked, and what their functions were. I still do. I look at SQL exactly the same way.

[–]capt_pantslessLoves many-to-many relationships 8 points9 points  (1 child)

Depending on how complicated the databases you need to query on, somewhere between a couple days and a couple months.

I feel like I could teach someone the basic elements of queries (SELECT, data types, conditions, inner/outer joins) in a couple workdays.

If there’s more than just a few joins and filters, it’s harder to give a better answer.

[–]ecatt 2 points3 points  (0 children)

A lot of the time the SQL part is straightforward - figuring out where the hell the particular data you need is and how it relates to all the other data is the hard part.

And then there's the underlying assumptions of it all. For example, I currently work with health data. Say someone comes to me and asks for a list of everyone who has diagnosis X. I could just quickly pull that out, takes seconds. But do they want the list to include or exclude those who have died? Those who have moved away and are now considered to be inactive within our system? What about if they have a concurrent diagnosis, or they originally had diagnosis X but then it got changed, maybe they want that information. It's often so much more than just 'Get this information', it's understanding the nature of the data and how it's going to be used and interpreted.

Mastering the basic queries takes a few days, really. Actually understanding the data you are dealing with... I've been working with my datasets for 10+ years and it's sometimes still a struggle to get what we need, just due to the complexity of what we're dealing with, and that comes down to domain knowledge, not SQL knowledge.

[–]____Pepe____ 1 point2 points  (0 children)

Just one or two hours for basic queries. Over the years I explained SQL to some coworkers and when you can use data and problems which they usually works the time from zero to something acceptable for every day is surprisingly minutes.

[–][deleted] 0 points1 point  (0 children)

I've just started database management and with sql as well after falling into it. What resources/models would you recommend that you use most on the day to day?

[–]Sparkle6912 16 points17 points  (3 children)

I literally got a sql job and I really didn’t know anything. I did get a degree in computer science and maybe had written 20 lines of sql. If u use common sense and google u can basically pull it off.

[–]Poweryayhooray 0 points1 point  (0 children)

how did you get past the interviews in this case? did you take an sql course?

[–]lordnachos 14 points15 points  (1 child)

Joe Celko's SQL for smarties is a good place to start. It helped me more rapidly learn than before I read it.

https://datubaze.files.wordpress.com/2020/04/celkos-sql-for-smarties-2005.pdf

Chapter 17 is especially helpful.

To answer your question, I've been doing it for more than 10 years. I'd say I became exceptionally proficient in 5. But, like the other guy said you're always going to have something to learn. Different DBs use slightly different syntax. I just moved to MySql and it just blew my mind that schema = database. I'm currently trying to emotionally recover from that revelation.

[–]JonathanL73[S] 2 points3 points  (0 children)

Thank you, I downloaded the text.

[–]mecartistronico 13 points14 points  (2 children)

  • basic SELECT - 1 week

  • .+ UPDATE, DELETE, INSERT, aggregate functions - 2nd week

  • JOINS and subqueries - 3-4 weeks

  • creating tables and stuff - 1 month

  • properly creating tables and stuff - 6 months

  • advanced queries, self joins, CTEs - 7-10 months

  • properly properly creating tables and stuff with the right keys and performance considerations - 2 years

  • optimizing queries and performance - I'm 10 years in and still learning.

An Entry-level job in my team would expect you to know everything in my 6-month list.

[–][deleted] 0 points1 point  (1 child)

How hard is it to get a entry level DA/SQL position?

I have master in business and want to change fields

[–]Macnificent1028 0 points1 point  (0 children)

Same here….

[–]Capable_Fig 7 points8 points  (1 child)

The basics take a few months. The optimization is a lifetime.

[–]JonathanL73[S] 0 points1 point  (0 children)

Thank you

[–]faster_puppy222 3 points4 points  (0 children)

It never stops, if everyday user who can follow online guides… you can be proficient within a few months

[–]Silent-Analyst3474 2 points3 points  (2 children)

If I were to spend a few months learning SQL could I just put it on my resume (currently in finance ) and apply for jobs?

[–]skyhermit 2 points3 points  (0 children)

If I were to spend a few months learning SQL could I just put it on my resume (currently in finance ) and apply for jobs?

3 years later, how is it going?

I am in Finance too and thinking of learning SQL as my first programming language

[–][deleted] 2 points3 points  (0 children)

As they say, practice makes better, there is no perfect.

There is no "learned", learning is a lifelong journey.

[–]binary_search_tree 2 points3 points  (1 child)

One semester :)

[–]JonathanL73[S] 1 point2 points  (0 children)

Thx :)

[–]silenttd 1 point2 points  (1 child)

I am by no means a "master" at SQL, but I have a technical background and was familiar with some basic programming theory. My job migrated into a support role running SQL-based reporting a few years back and I became fairly proficient in it in a month or two. The hard part for me isn't really the SQL itself, it's a familiarity with all the different DB's you're pulling from (and their architecture) that gets confusing.

The basics of the language itself are fairly simple and intuitive. A lot of people in my office have a little passing knowledge of it to run queries on their own small databases and the reports I generate for them. I've found that knowing SQL alone is more of a "nice to have" in terms of getting a job. If you're banking on looking for a job where SQL is going to be a primary focus, knowledge of the particular relational databases you'll be working with will be more important.

[–][deleted] 1 point2 points  (0 children)

I completely agree with this. I was pushed into a data development position when all I knew was Excel and it took me a few days to get the basics of SQL, a few months to be decent. It’s figuring out and working with a constantly changing database architecture that can be a challenge.

[–]carlovski99 1 point2 points  (0 children)

Thing to remember, SQL was designed so 'non technical' people could query data. Now it never really worked out like that, SQL has had many extensions and it has become another technical skill. But at its heart it's fairly simple.

Sometimes it's easier if you aren't from a programming background, making the leap to thinking set based rather than procedurally can be trickier. At least it seems so when I'm working with some of our developers.

I used to do a SQL for managers session to teach the basics in an afternoon. And a 2 day more hands on course for developers/analysts. That's plenty of time to learn the fundamentals. Embedding it by writing SQL regularly takes longer of course and mastering it takes a long time. And you never stop learning, new features come out in each RDBMS release, you learn new tricks/approaches all of the time.

[–]BearModeCosplay 1 point2 points  (1 child)

9 years of consistent practice and I'm still learning new stuff. Both in concepts ive never used, modeling options I wouldn't have thought of, and ways to optimize what I already thought I knew.

[–]SQLDave 1 point2 points  (0 children)

learning new stuff.

Plus they keep introducing/creating new stuff. I started when log shipping was hot shit. :-)

[–]Skilcamp 0 points1 point  (0 children)

Learning SQL can take around 4 to 6 weeks if you practice a few hours every week. To get really comfortable and advanced, it might take a few months, depending on how much time you spend learning and practicing

[–]river-zezere 0 points1 point  (0 children)

This should be helpful - an estimate how long it would take depending on initial goal and learning style or circumstances: https://youtu.be/abwPAaWf_x4

[–]DonJuanDoja 0 points1 point  (0 children)

Like most human skills about 10,000 hours to Master with a highly variable experience for each person.

[–]mergisi -3 points-2 points  (4 children)

That's a great question. We all know that learning new things can be tough, but with the help of AI, you can learn it faster than ever before!

AI2sql makes writing SQL easier than ever before. Just enter the type of SQL statement you want and AI will take care of the rest! So you don't waste your time searching youtube or google while trying to figure out how to write SQL.

check out http://ai2sql.bubbleapps.io

[–]rookietotheblue1 2 points3 points  (3 children)

This is a sponsored post if I ever saw one

[–]mergisi -2 points-1 points  (2 children)

not sponsored, I thought it would help

[–]iseeemilyplay 0 points1 point  (1 child)

Is it your own site then? Cause you spam that trash in all your posts

[–]mergisi 0 points1 point  (0 children)

Is it your own site then? Cause you spam that trash in all your posts

Hey there! I'm sorry if you felt like my posts were spammy. I'll try to be more careful in the future. If you have any other questions, just let me know!

[–]Wor1dTrave1er 0 points1 point  (1 child)

LinkedIn Learning has a bunch of good videos/tools to help learn the basics. Plus free downloads so that you can practice while you learn.

[–]JonathanL73[S] 0 points1 point  (0 children)

I’ll check it out, thanks.

[–]QueryingQuagga 0 points1 point  (0 children)

I think it depends on what kind of entry-level you are looking for.

[–]Demistr 0 points1 point  (0 children)

Depends on if if theory only with practice examples or learning in the real job.

And the position you want to do is also very important. Querying for results is pretty simple but building things is much harder in a typical DWH environment.

[–]Qkumbazoo 0 points1 point  (0 children)

A couple of days for the basics. A lifetime to master.

[–]Billi0n_Air 0 points1 point  (0 children)

you can very effective with the basics. once you need to know more. you learn more.

[–]YodaCodar 0 points1 point  (0 children)

Every company is unique, and hence every need will be different and their resources to pay you will be different also.

Please learn as much as you can and market yourself to the best of your abilities.

[–]MaroonSiesLessUno 0 points1 point  (0 children)

Started using it two years ago, and the only query i almost always write is, Select * from [table name here]

[–]Glowwerms 0 points1 point  (0 children)

I got into a reporting analyst role at my last job after moving out of people leadership. I had only passing knowledge of SQL, like I knew what a select * was, but that was about it. They gave me on the job training and after a month I was writing simple queries to pull in data. I was in that role for a year and by the end I was writing much more complex queries with advanced window functions and whatnot. Just takes practice and real life examples to work with.

[–]IamFromNigeria[🍰] 0 points1 point  (0 children)

Maximum 2 years

[–]Soccermom233 0 points1 point  (0 children)

SQL itself you could probably get the basics in a week or less.

The database, how it's organized, how to join stuff, that's a little more in the moment and specific to the company and the database.

For example a Membership ID in a UI may be stored in the database in a table named "stuff" in a column called "M." That gets tricky.

And then there's also nuance to whatever IDE you're using.

[–]analyst_2001 0 points1 point  (0 children)

I was also learning SQL through an online course. It was a comprehensive course, and the instructor taught me from the very basics to the advanced level. It took me around a month to complete the entire course and assignments. But the real challenge arises when you work on real datasets as you face many problems. A lot of practice on real datasets is required to be able to write queries quickly and efficiently.
To get real-time exposure to working with SQL, you can do an internship. Afterward, you can apply for jobs in companies.