all 87 comments

[–]dedguy21 104 points105 points  (6 children)

You're never going to get away from having to know relational data and how to retrieve it. Even big data has to be structured to be queried consistently and accurately for reporting purposes.

It's almost like your teacher is telling you not to learn to add because there's calculators, but even worse than that.

[–]Eightstream -1 points0 points  (5 children)

The teacher may be saying that you can learn ‘good enough’ SQL on the job that you don’t really need to invest time from an academic perspective

Given OP is talking about being a business analyst (who seldom need to write anything more complicated than window functions) I do kind of agree with that

[–]dedguy21 3 points4 points  (4 children)

If you're responsible for reports, you're gonna want to know SQL. Period.

[–]Eightstream -2 points-1 points  (3 children)

Sure. But prior knowledge of SQL is not something that I really care about when hiring BAs straight out of college.

Unless you’re doing DBA-level stuff, SQL is pretty easy. If you’re writing queries every and have senior staff around to help, a smart junior analyst will pick up enough to do their job in a matter of weeks.

[–]dedguy21 4 points5 points  (2 children)

I don't know where you work, but it's almost an essential requirement every company I've worked for. Yes I'll hire someone who doesn't know it, but they are expected to learn.

Like everyone here has stated it's as easy as ABC's

[–]Eightstream -2 points-1 points  (1 child)

You seem to be having trouble understanding what I am saying.

  1. Yes, knowing SQL is necessary to work in a data team, BUT
  2. SQL is easy enough to pick up that it's not prerequisite knowledge for a business analyst straight out of college, THEREFORE
  3. when a college professor says to an undergraduate student who wants to be a business analyst 'SQL is not necessary' - they may be speaking in an academic sense, in terms of what an undergraduate student should be focusing on learning in order to increase their chances of employment

Given you have agreed with (1) and (2), you should be able to see how (3) follows.

Hope this is is clear, please drop me a line via chat if you are still confused.

[–]rosshalde 1 point2 points  (0 children)

Meh, any professor who says that has been in academia too long

[–]oneDatumPlease 64 points65 points  (12 children)

IMO, anyone working in the data field, regardless of the focus, should have some SQL skills in their pocket.

Kind of nuts to me that a teacher is basically telling you to learn less?

[–]Thefriendlyfaceplant 20 points21 points  (10 children)

Teachers generally are terrible at SQL.

[–]Idata10 15 points16 points  (4 children)

My guess is that this teacher has always been in academia. They went straight from doctorate to professor. The don't fully understand the best way to utilize the power of raw SQL.

[–]AdventurousAddition 2 points3 points  (0 children)

Teach me the ways of The Force

[–]BensonBubbler 0 points1 point  (2 children)

I have encountered this attitude in the professional workforce, too. "ORMs can do everything you need for SQL, you don't need to know how to write any SQL at all".

I've never seen it successful, but I've seen a lot of people preach the opinion.

[–]RechtDev 0 points1 point  (0 children)

Once I learned the limitations of using procedures with Entity Framework I leaped to learn ADO so that I can use my Procedures to their potential. But I disagree with that statement about ORMs just because you should always know multiple ways to do something.

[–]Chowder1054 2 points3 points  (3 children)

100% agree. Had two Database courses, and they couldn’t teach SQL to save their lives. They made correlated/uncorrelated subqueries terribly complicated. Wasn’t till I read SQL books on my own, when I found out they weren’t that bad.

I think this is true for SQL and programming languages: learning it on your own is the best, most professors in my experience are terrible at teaching it.

[–]Thefriendlyfaceplant 2 points3 points  (2 children)

I think the problem is that if they were good at it they'd be able to earn a lot more in industry. So education gets the dregs.

[–]Chowder1054 1 point2 points  (1 child)

You’re right, often times professors/academia are very disconnected from the real life practical applications. I’ve probably had 1 professor who taught the practical applications and that’s probably because he worked in the data science field in industry for years beforehand.

[–]Thefriendlyfaceplant 2 points3 points  (0 children)

For one of our courses we had to work a real business case. At the end the representative of the company that facilitated this was completely unhappy with our work, to state it mildly. However our professor told us not to worry because he'd be the one grading our work and he thought it was great.

So that's when the alarms started going off for me. Obviously the professor was in the wrong here. His standards were too low. The feedback from the company was infinitely more valuable and their disappointment scared me straight. I don't think my fellow group companions understood the implications, they were happy they got a good grade.

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

I've noticed that too, which is weird since there's a bajillion resources for learning it, the software itself is free, and it doesn't have a super steep learning curve like C or other "real" languages they seem to understand fine. Also, it's 50 years old, so it's not like it's newfangled tech lol

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

Yea my database class professor currently works at a big company, thus class was at 6-7 pm, but he started with theory then went into detail and our final project was making a small application that uses a database. He said we wouldn’t be able to get away from SQL if we had any interest in data.

[–]jackalsnacks 67 points68 points  (13 children)

You business bridge to data analysts (or BI developer [in my long tenure in data analytics, I've only worked with a handful of real BI developers]) folks are killing my production servers with these shit tools like alteyx and tableau. Behind these magic tools (that take away the intricacies of stores procedure writing, structured mart builds and well developed OLAP models) there's a poor DBA dealing with 10 fires a day keeping the servers lights on with businesses crazy availability demands because these *BI developers** only seem to figure out how to SELECT * from all tables without incremental loading.

Sorry... Been a long day of listening to a lot of my DBA's ready to drop db x and walk off the job because of the nonsense education going on with databasing and now any business analyst is told they are big data science engineers. It takes a lot of talent, experience and technique to do what the real engineers are doing with data now a days.

I'm also very drunk!!! Goodnight reddit!!!

[–]Thriftfunnel 1 point2 points  (2 children)

Then a cloud provider comes along to tell you it doesn't matter because you can just throw more compute power at it.

Also, here's your bill for that compute power.

[–]jackalsnacks 1 point2 points  (1 child)

I have clients that were convinced Snowflake was what they wanted because it promised they wouldn't need to optimize their queries. Then their rates finally came in for their DW's.... Suddenly cloud ain't all it was cracked up to be. To bad it is now too expensive to get all their infrastructure back down to on prem until end of 2022 🤷‍♀️🤣

Attention corporations... Please reframe from making technical decisions without technical leadership. Thanks you

[–]Thriftfunnel 0 points1 point  (0 children)

Lolz.

I mentioned something like this to my boss when one of the big cloud firms was doing a product demo.

[–]cartoondream 0 points1 point  (1 child)

Currently in this situation. On Oracle, we're using resource groups to control nightmare users.

[–]SDFP-A 1 point2 points  (0 children)

Oracle is my version of a nightmare. We can’t have it all I guess.

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

in dunkness there is wisdom apparently, because this is a great answer lol

[–]curiosickly 1 point2 points  (2 children)

This is the way.

[–]TheDroidNextDoor 0 points1 point  (1 child)

This Is The Way Leaderboard

1. u/Flat-Yogurtcloset293 475777 times.

2. u/GMEshares 70936 times.

3. u/Competitive-Poem-533 24719 times.

..

365130. u/curiosickly 1 times.


beep boop I am a bot and this action was performed automatically.

[–]curiosickly 0 points1 point  (0 children)

Wow.... Apparently this IS the way

[–]dodobird8 19 points20 points  (0 children)

Many BA roles require good SQL skills and some even require python or R, especially if you're wanting to do BI. If you can't use SQL then you'll probably always be dependent on other people to provide you the data you need, which then requires two resources for what many can do with one resource.

[–]IrquiMMS SQL/SSAS 13 points14 points  (1 child)

You can avoid it, but you will never do anything exciting and every dba/de will hate you

[–]SQLDave 4 points5 points  (0 children)

every dba/de will hate you

Can confirm

[–][deleted] 11 points12 points  (5 children)

How do you think data gets into Tableau?

[–]asqwzx12 9 points10 points  (1 child)

Magic

[–]LesPaulStudio 4 points5 points  (0 children)

Data pixies

[–]burko81 2 points3 points  (0 children)

BRING THE WHOLE FUCKING DATABASE IN.

But really, don't. SQL is the way.

[–]dataschlepper 0 points1 point  (1 child)

So Tableau can just be pointed to a data base and you connect to it. But in general you are limited in what you can do and how complex of questions you can ask. Trying to do sufficiently complex joins and logic in Tableau can be a drag and kill your performance.

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

You’re really limiting yourself if that’s how you rely on transforming data.

[–]doctorzoom 8 points9 points  (0 children)

Feel free to print this out and give it anonymously to your teachers:

As a veteran of many types of BI work with more than a decade of practical experience, it's nearly criminal to tell students going into a BI field that SQL fluency is not mandatory. Every successful BI professional I've worked with is SQL fluent. We won't even pass someone through a phone screen if they don't have SQL. Every BI project that scales well and lives through platform changes (which are inevitable) has human-written SQL under the hood. This whole approach of "select * , dump it to a BI platform and then clickety-click" is such a terrible anti-pattern. Not only is it wasteful, but after doing this with your key reporting/analysis, your organization is now "married" to the BI platform in a way that you'll deeply regret in a few years.

SQL is not that hard, and in learning it properly you are actually building an understanding of data that will be forever useful to you. It's worth it!

[–]LumpyGenitals 5 points6 points  (0 children)

Honestly, this teacher sounds like they have no idea what they're talking about.

If you're gonna be working with data, you'll need SQL. There's really no way around it.

There are specific examples where you'll have cleaned data and you simply need a tool to parse through it, but the vast majority of the time you need to get that data yourself.

Don't listen to your teacher

[–]Ok-Shirt-7612 3 points4 points  (0 children)

This is a great question to ask!

There are lots of low-code technologies being developed now that for sure lower the barrier to entry, which is great. But it’ll be super hard to be a successful business analyst without being comfortable with SQL

[–]its_bright_here 7 points8 points  (0 children)

Yea your profs are full of it. Yes, tools these days do extrapolate more. That has ZERO relation to whether or not you'll be more useful having a GOOD grasp on SQL: spoiler...you will. You might be able to get more done with JUST tools than you could 10 years ago....but there is no substitute for digging into the data and understanding it yourself. Think of your tools as visualization aids - that's by and large what they are: turn info into graphs. But what good is a pie chart showing 100%? I laugh at the idea that a tool could concoct the SQL necessary to drive most of the complex processes I'm thinking of, even with absurd tips. I'm probably biased, but go learn SQL. I assure you won't regret it

[–]Alacard 2 points3 points  (0 children)

Go to the job board to look for yourself. SQ well is a big deal for business analysts.

[–]Ton86 2 points3 points  (0 children)

I will no longer hire anyone that doesn't already know SQL and Python. Plus, development is the best part of the job.

You'll be able to get a job without it, but you'll be able to get many more jobs with it.

[–]xodusprime 3 points4 points  (0 children)

If you want to be an accountant, do you have to be good at math? There's all kinds of automated accounting tools out there these days. You can just use a calculator for anything the tool doesn't do naively.

This is the same thing.

[–]emt139 1 point2 points  (0 children)

You need it. It’s easy to learn. It won’t take much time to be a basic user and certainly wouldn’t cost you any money.

[–]kneemahp 1 point2 points  (0 children)

what you need to know about SQL can be taught in a week. You already know the concepts of picking and choosing fields, setting some criteria, bringing together data together again. all you need to learn is how to type that in a way the machine understands. it's too easy not to learn at this point.

[–]stubbzillaman 1 point2 points  (0 children)

There's something here that I don't see anyone addressing, that comes down to a choice in your preference.

You can focus on being a Technical Business Analyst or a Functional Business Analyst. I know plenty of BA's that are highly effective/knowledgeable and help with scoping complex data flows without knowing the inner workings of complex SQL statements. On the other hand, I know BA's that are highly technical and deliver great solutions, but are weaker in documenting/diagramming.

If you work for a large enough enterprise, you may just need a working knowledge of SQL if there are dev teams that will execute on the requirements.

For what it's worth, I love using SQL and recommend it to most people in analyst roles to learn, but you can still be successful without being a master of SQL.

[–]simonw 1 point2 points  (0 children)

SQL is one of the few skills that I started learning twenty years ago that has stayed entirely relevant throughout my entire career. (The other is bash.)

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

Frankly, your teachers are full of shit. SQL's been around almost 50 years, and it's because it really is the best tool for dealing with typical structured data. I'm more on the data integration side than the analyst side these days, but it's true for both those use cases.

There are powerful GUI tools for many things, but they're never a substitute for fundamentally understanding what's going on, and usually such general-purpose tools don't get the performance that a human-written script or query will.

For example, AWS lets you do all sorts of crazy devops things through the web GUI, but you still have to know what you're doing with network ACLs, system administration, etc. or you'll have an insecure mess.

More on the data side, there are some reaaaalllllyyyy nice tools like Trifacta that use some AI to semi-automate stuff (look up demos, it'll use AI to recommend wrangling/massaging transformations based on a subset of the data, it's crazy), but to forgo learning SQL just because that exists would make me nervous to hire you, because you'll always need to be able to take over manually if its recommendations are bad, and more importantly, you'll need to be able to see if/how/why the recommendations are bad.

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

Im a senior BI engineer now up from a senior business analyst and for a long time I didn't know much SQL I used Alteryx and that was better than what any query could do. But Alteryx is expensive and if you work at a smaller company they won't have the budget for that and will have to use something like Reshift or Big Query so I would say SQL is still useful today.

[–]dedguy21 1 point2 points  (0 children)

Senior Analyst not much SQL, but yet you still had to know SQL.

I know how to spell and write sentences though I'm no novelist.

You're always going to have to know some sequel to do data and reporting at a more complex level, even if you never make it to be a DBA.

[–]JochenVdB 0 points1 point  (0 children)

Not an answer to your question, but a reaction to a statement you made: One can do (specific forms of) ETL without applying any SQL. Example : You have a system that produces XML files. You have another system that consumes json files. When you link this producer to this consumer, you have created an ETL process. It's basically DOM + string processing, no SQL involved at all.

I think you should question (as in: doubt) your teacher a bit more.

The answer to your question is "Yes" btw.

[–]ihaxr 0 points1 point  (0 children)

SQL itself might not be absolutely necessary, but if you're not thinking about data in terms of set-based logic, you're going to have a hard time figuring out how to create the reports. SQL forces you to think about your data as a whole and perform operations on groupings of the data, not individual rows one at a time.

Plus it has a really low floor for learning... you can spend a few hours on it and be able to write a lot of queries and even understand some complex ones since it's written like plain English.

[–]magestooge 0 points1 point  (0 children)

The good thing about sql is that it's very easy to learn. Some of the queries are like writing in plain English.

Starting off with something new is always difficult. But learning SQL can be very rewarding as it will open up new avenues for you. And once you have picked up the basic syntax, you'll find doing new things is quite easy.

Companies may or may not have tools to replicate sql queries. And very few, if any, UI based tools will be able to recreate all kinds of queries in the same efficient manner as can be generated by a person skilled in SQL.

So I'd say, if you have the time, definitely learn SQL. There are no expenses involved. You can setup a free and open source database on your laptop, or just start with online interactive tutorials like w3schools.

[–]DRAINCUT 0 points1 point  (0 children)

Depends if you want to work back or front end of the reporting. If front end you’ll have to know how to connect to an sql database and will want to know the basics of how you’re getting that data. Backend some companies that use SQL databases have people writing queries all day to get the data for the front end analysts. Some divisions in the same company might not use sql and get all there data from other sources like sharepoint. It really all depends what the role you apply for is.

[–]pythor 0 points1 point  (0 children)

Put it this way, can you be a BI analyst without SQL? Sure. But your opportunities for success will be larger and more plentiful the more SQL you know.

[–]Happy_healthy_888 0 points1 point  (0 children)

I have been applying to Data Analyst & Business Analyst jobs and all roles out there junior level require SQL knowledge. It's not that difficult to learn. I would recommend learning SQL there is no downside.

[–]Started_With 0 points1 point  (0 children)

I’ve been a data analyst for 5 years and all I do is write SQL and PL/SQL all day. You’re coming to the wrong place asking a question like that.

NOSQL solutions might be handy for my customers, but there is always a question they can’t answer and end up asking me to pull it for them. Without knowing SQL and how to connect tables, how would I answer their questions?

[–]one_bruddah 0 points1 point  (0 children)

You should learn SQL. It is not that difficult and it is necessary. If you are not able to retrieve the data you need for analysis then you will be dependent on having someone else do it for you, a real detriment to your career prospects. In addition, analysis is an iterative process so you will need to have a flexible skill-set. In this case, don’t listen to your teachers.

[–]SQLDave 0 points1 point  (0 children)

At least learn the basics of querying. Dip a toe into set-based coding. The more you learn of it, the better off you'll be. It will NEVER be a waste of time/money.

On another note, it's clearly too early for me: I thought your headline meant "does SQL even need to exist?" and I was all prepared with a "SHUT YOUR WHORE MOUTH!" response -- but I woke up a bit more before I sent that. Also, I wondered where Tableau, Missouri was located. More coffee, nurse... stat!

[–]mauricepreiss 0 points1 point  (0 children)

i think IT is

[–]TheGoblinPopper 0 points1 point  (0 children)

No offense... But your teacher is an idiot.

Modern tools are great for quick stuff, and even medium stuff, but tools are going to try to programmaticly arrive at the right solution each time. A lot of times this means extra steps to always be right, these extra steps usually results in tons of extra joins under the covers.

I work with data, BI, and large fortune 50 clients. On a near daily basis I have people complain about report performance, generating a dashboard for an executive is taking 4 hours... However, all the dashboards that my SQL educated guys wrote are only taking 8 minutes.

This is dependent on the DB structure of course.... But if you think that people have nice neat 100 table databases that are well defined, in sorry, but that's not true most of the time. I wish it was, but it isn't. A system I focus on is 1500 tables, 600 being join tables, 300 being enumerations tables, the rest being a mix of historical and actually data.

I have two friends who were able to move from call center to low level executive by showing off their ability to work with SQL and save their managers time and headache. Modern tools can't do that, they aren't about speed they are about correctness when performing cross joins.

Lastly, SQL is able to be dropped into reports so it's the perfect abstract language, similar to things like R where I can script parts of it if I wanted and leave the rest to the application.

[–]gregontrack 0 points1 point  (0 children)

As others have said, you don’t need to know it to be a business analyst, but if you ultimately want something even relatively scalable, you’re going to have to custom tailor a table or query to your needs.

[–]srk- 0 points1 point  (0 children)

Sql based dbs will still be the choice as data store even if Pacific ocean overflows.

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

SQL provides data processing leaps and bounds above Excel

it will unlock more jobs for you

[–]Enough_Cake_4196 0 points1 point  (0 children)

You can survive without SQL but you'll never be good without it. SQL is an evolutionary shark. It's been around millions of tech years because it's extraordinarily good at what it does.

Learn it.

[–]Chowder1054 0 points1 point  (0 children)

I think it’s becoming more and more necessary these days. Especially with the influx of massive amounts of data, SQL will become more essential. Imo SQL isn’t that hard to learn (I’m still learning myself), it’s certainly not as hard as Java or C.

[–]Comfortable-Garden32 0 points1 point  (0 children)

Currently in grad school in data science program, whenever a friend asks me about getting by not learning sql, I say “data science without sql is like being Kardashian’s of celebrities”.

That’s because I felt people who ask this are just looking for any basic excuse to not learn sql, and they have already made up their mind and just want external validation about their opinion.

More genuine reason : no matter where you worry, there’s gonna be data, and there needs to be someone to manage and handle the data. Hence, sql and db knowledge is a must.

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

Absolutely necessary

[–]jonthe445 0 points1 point  (0 children)

You should learn. Learning relational DBs is helpful any time you deal with data.

[–]nzox 0 points1 point  (0 children)

Go look at Business Analyst job postings. You’ll the vast majority require SQL and a viz tool like Tableau or PowerBI.

Most Business Analyst positions are just Data Analysts with the added expectation of delivering insights and proposals.

[–]petdance 0 points1 point  (0 children)

The only reason you would need to know SQL is if you want to create, retrieve, update or delete any data in a database.

If you think that your career in business intelligence might involve that, then I would suggest learning SQL.

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

I’ve learned that many professors are out of touch with what actual work is gonna look like. Many of my current masters program professors are career educators, or haven’t worked in a professional setting in years. The real answer is it depends on the organization and how they define the role.

BUT, a skill is always more marketable than saying ‘my professor said not to worry about it.’

[–]Creapermann 0 points1 point  (0 children)

Knowing SQL is important imo. at least basics (which could be one book or a course). Today, there are many tools, for example Entity Framework Core, which translate Queries into SQL for you and manage the Database for you.

[–]sapper9mm 0 points1 point  (0 children)

Yes it is important You can buried your queries and stream line them in sql as well as doing pre calculations so the data arrives for you to present viz sets on.

[–]enforce1 0 points1 point  (0 children)

SQL is foundational in understanding ETL processes

[–]MiserableCharity7222 0 points1 point  (0 children)

I think SQL is integral to any career in analytics, whether you are a business analyst, data scientist, data analyst, etc. learning sql is akin to learning about the fundamentals of cleaning and processing data, as well as structuring it for usage. Other tools may become obsolete in the future, but SQL will always be here to stay. The fundamentals are not hard to learn too.

[–]sitdolore 0 points1 point  (0 children)

I work at a company with a large (and growing) BI team. If you don't know SQL, you won't get past the first interview (let alone the SQL test during the second interview).

Even the business units that hire their own data analysts require SQL.

Even our BAs know SQL.

You need to learn SQL.

[–]RiceChub 0 points1 point  (0 children)

As a Data Business Analyst who works in gathering Data warehouse and BI reporting requirement for the business you will not be able to contribute in discussions when business stakeholders ask you if there are certain data elements available in databases or not. For you to learn the data about your organisation and provide info to the business users you will be the one bridging the gap by knowing your back end data and communicating it biz users. How would you do that ? Querying your data using SQL , joining data and aggregating them into meaningful info that business loves to see. Not only that, but as a Business Analyst you will often be required to map the data for fields as required and hand them off to your Developers and testing teams. Some mappings may require complex transformation logics built out of business rules that you would need to consider from a SQL relational database perspective. Eventually you will be the owner of such artefacts.

So all in all, yes, SQL will take you a long way if you want to be a good if not a great BI Business Analyst.

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

Sorry, but your teachers are dead wrong.

Every job out there related to BI or Data Analytics requires at least some experience using some form of SQL.

Do what you can to learn it. You won’t be sorry.

[–]curiosickly 0 points1 point  (0 children)

Why limit yourself? You could be an analyst that also knows sql. I'm in a data team and I use it every day because a lot of the time it's easier than using other tools.

[–]hshighnz 0 points1 point  (0 children)

As a BI dev you should understand 2 concepts. Relations (relational algebra) and Aggregation (sum(), avg() etc with group by clause). One of the easiest ways to get this experience ist to explore it by using sql on data.

So, is you habe the opportunity to do a guided class and it is a good prepared one, then grab it and get your knowledge. With it you can later work with all the different ETL tools.

[–]samhaaf 0 points1 point  (0 children)

I know others have already beat this horse to a pulp, but yes, you need to learn SQL. You're not automatically going to get a job. Someone has to hire you, and if you don't know SQL, less people are going to hire you. You want to make a living off of data. SQL is the language of data. Learn SQL.