I already knew my way around Excel, and I had built dashboards in Power BI. For a while that felt like enough. Then I started paying closer attention to what financial analyst roles actually ask for, and one skill kept showing up that I did not have: SQL.
At first I was not sure how much it really mattered. So I did two things. I read through a lot of job postings to see how often it came up and in what context, and I had a few coffee chats with people already working in finance and analytics. The answer was consistent. Once a company's data lives in a database rather than a tidy spreadsheet, SQL is how you get to it. Analysts who can pull their own data do not have to wait on someone else every time they need something. That was enough to convince me it was worth the time.
The gap school did not fill
My program did not teach SQL, and that did not surprise me. Over a few years of working, one lesson stuck with me early on. School gives you a foundation, but it will never hand you every skill the job turns out to need. The real skill is not knowing everything up front. It is noticing where the gap is, figuring out what would close it, and then actually going and learning that thing.
So once I saw the gap, I treated it like any other problem to solve. I looked at what I needed, worked out the steps to get there, and built myself a path.
How I planned the learning path
I did not want to just grind random practice problems, so I put the steps in an order that made sense to me.
I started with a Coursera course, SQL for Data Science, to get the concepts and the reasoning first. Before writing a lot of queries, I wanted to understand what a database actually is and why queries are structured the way they are.
Next I used SQLBolt to drill the basic syntax. Short, hands-on exercises were a good way to make the fundamentals stick without getting overwhelmed.
Then, to move from exercises to something closer to real work, I started a SQL project of my own using a public dataset. Writing queries against a clean textbook table is one thing. Working through a fuller dataset, deciding what questions to ask and how to answer them, is where it starts to feel like the job.
Only after that did I plan to move to LeetCode's Top SQL 50 and StrataScratch. I put these last on purpose. They are interview-style problems, and I did not want to jump to interview prep before I actually understood the material. Concepts first, then application, then interview practice. Doing it in that order felt more solid than starting at the end.
The ceiling of teaching yourself
There is one limit I ran into that is worth being honest about. Learning on my own, I do not have access to a real company's ERP system or database. The data I practice on is clean and well organized. Real company data usually is not. It is messier, it is spread across systems, and figuring out where a number even lives is part of the job.
I cannot fully recreate that on my own, but I can get closer than a textbook does. Using a fuller public dataset, rather than a pre-cleaned example, forces me to make some of the same decisions I would face with real data: what to join, how to handle gaps, and whether a query is actually answering the question I meant to ask. It is not the same as the real thing, but knowing the difference is part of the point. I would rather go in aware of the gap than assume clean practice data is all there is.
Why this matters for an FP&A analyst
The goal here is not to turn myself into a database engineer. It is narrower and more practical than that. For an FP&A analyst, SQL means being able to reach the data yourself instead of always waiting for someone to hand you a clean spreadsheet. It widens the range of things you can answer on your own.
But the bigger point is not really about SQL. School will not teach you every skill your job will need, and neither will your last role prepare you for your next one. What matters is whether you can spot a gap, decide what will close it, and go close it. SQL is just the first place I am putting that into practice. The skill I am actually building is the one that makes the next gap, whatever it turns out to be, a lot less intimidating.