4th Mar 2020 9 minutes read Should I Learn SQL as a Data Analyst? Marija Ilic sql jobs and career data analyst Table of Contents Should I Learn SQL? Dreyfus Model of Skill Acquisition From Novice to Advanced Beginner From Advanced Beginner to Competent From Competent to Proficient From Proficient to Expert Summary So, you are a data analyst—someone who relies on data. You like to gather, clean, and transform data and come to conclusions based on data. You are a data detective. Which tool do you choose to do your job in an elegant, reproducible, and simple way? Excel? R? Python? Or should you learn SQL? Stay tuned! In this article, I will explain why SQL is a must-have skill for data analysts. I will cover Dreyfus's skill acquisition model and show you where you can learn SQL no matter your ability. Should I Learn SQL? SQL has been used since the 1970s for data retrieval from relational database systems. Nowadays, businesses deal with a lot of data. SQL is a skill that’s in high demand, and trust me — that fact will not change for a long time. Why? SQL is stable, well-established, and present in every company that stores data in a structured format. And as long there is a need for structured data storage, there will also be a need for SQL developers. No matter what industry you are in, you will need to access data stored in databases, and SQL is the best and only way. Learning SQL might not sound as sexy and exciting as learning R or Python, but it is an essential skill for data analysts. Now that you know why it is important to learn SQL, in the next section, we will discuss how and where to learn SQL. Dreyfus Model of Skill Acquisition Whether you are a novice, beginner, or advanced user, you can always grow, get out of your comfort zone, and improve your SQL skills. It’s a long-term investment that will pay off. Acquiring skills (like SQL), is a lengthy process. Once you have found a skill you want to develop, the next phase is the learning phase. In this phase, you learn the basics. You find some rules for your SQL cookbook. Following these rules allows you to start retrieving data using simple select statements. You find yourself deleting your first SQL table and updating values in another table. Congratulations, you’ve learned the basic syntax (select, update, insert, delete) for data manipulation! In this initial phase, you aren’t yet confident with the syntax. However, you are proud that you learned something new and are utilizing what you have learned so far. According to the Dreyfus model, you are now called a novice. It’s the first of five steps: Novice Advanced beginner Competent Proficient Expert From Novice to Advanced Beginner Most data analysts start their SQL learning path by taking one of the many online courses offered on the internet. This first course will be the hardest one. It opens you to a new world. So, it’s important to choose the right introductory course. It needs to keep you motivated and must be friendly, intuitive, and interactive with a lot of examples. My recommendation for a novice is SQL Basics on LearnSQL.com. I love this platform especially because I’m one of its course and article writers. Once you complete this course, you will have a good foundation that will motivate you to move to the next step — advanced beginner. The transformation from novice to advanced beginner happens with practice. An advanced beginner has more experience writing code. Both novices and advanced beginners possess the same basic knowledge. The main difference is that advanced beginners don’t need supervision when performing simple tasks. So, if you are a novice and want to go further, it’s time to take some new online courses with a lot of exercises. Along with courses, try connecting to a database at work and performing simple selects (select all clients or client transactions) on your company’s data. From Advanced Beginner to Competent It feels good to perform simple tasks without a supervisor, doesn’t it? At this point, you feel ready to move up another step. You know that the sky's the limit and that you can easily adopt more complex SQL syntax into your daily routine. As the days go by, you are using SQL more and more. Remember — practice will bring you from advanced beginner to competent. How do you gain more experience? You can take additional courses that will give you more practice. On LearnSQL.com, you can find a great learning path intended for upgrading your coding skills. This learning path, SQL Practice, made up of two interactive courses: SQL JOINs — a course that covers the important types of SQL JOINs, which are widely used by SQL programmers to query databases daily. SQL Practice Set — a practice set that tests your basic SQL knowledge and shows where you need improvement. This course is all about practice, practice, and practice. Use these courses to gain more practice. In addition to taking courses, try to use SQL for some day-to-day tasks that were previously done in Excel or another tool. Every day, find at least one new SQL challenge — practice on your own data. For example, if you are a pricing manager or revenue analyst, try doing your pricing calculations in SQL. There is actually a special SQL course about this subject. The Revenue Trend Analysis in SQL course will help you build revenue reports from scratch. Keep in mind that you must be persistent and incorporate SQL in your daily work. Experience makes us professionals. Once you have gained more confidence and complete more complex tasks on your own, you have become competent. You are no longer just following the rules. Now, intuition helps you write SQL queries. From Competent to Proficient Competent is a desirable level because you can now manage most tasks without any help. You are a confident problem solver and can write SELECT, WHERE, and GROUP BY statements even with ease. So, what happens now? Now, you are so good at SQL that you are starting to ask yourself questions: Can this SQL query be written more efficiently? How can I improve my queries so that they run more quickly? Is this code reproducible? Congratulations, these are great questions! You are on your way to becoming a proficient SQL developer. You need to gain more advanced knowledge and take time to adopt new concepts to answer these questions. It is time for new learning paths that will help you move to the next level. There is a learning path on LearnSQL.com just for that, Advanced SQL, and it contains three courses: "Window Functions" course — a course that covers the syntax and semantics of SQL window functions. It shows how powerful these functions are, how you can build complex aggregations much more simply, and how to use ORDER BY and PARTITION BY to set up a frame for window functions. GROUP BY Extensions in SQL — a course that teaches you how to use advanced features in SQL, like ROLLUP, CUBE, and GROUPING SETS operations. Recursive Queries — a course that teaches you about subqueries or common table expressions (CTEs). You will learn how to manage your SQL queries with CTEs, how and when to use nest CTEs, and how to use recursive CTEs to move through hierarchical data models. Once you get familiar with these more advanced SQL concepts and start using them in your daily work, you will notice how your code is simpler, prettier, and easier to maintain. At this point, you are guided by intuition, and you know when a certain SQL code is appropriate to use and when it is not. Now, you are a proficient SQL user — someone who sees the overall picture and how individual actions fit within it, someone who can deal with complex situations holistically and take full responsibility for your work. At this point, only one last step remains — expert level. This is where you can do something called SQL magic. From Proficient to Expert It is hard to tell the difference between a proficient user and an expert user. At first, they look the same. But if you look deeper, you will notice small differences that make an expert almost like a magician. Everything the expert does looks effortless and magical. Experts are guided by strong intuition that comes from years of focused experience. This level is excellently described in an article by Ransom Patterson. It is a long journey from a novice to an expert, and not everyone ends their journey with an expert badge. In fact, studies have shown that people are not evenly distributed throughout the skill levels. Most of us are just advanced beginners, and only 2% of us are experts. Yes, most of us are just advanced beginners. To quote Nat Eliason: “If you don’t look first inside yourself to assess your intuition around goals and actions, and instead choose to look for more recipes, you are not proficient or an expert.” The Dreyfus model is wonderfully explained by Nat Eliason here. Do not let these numbers discourage you. They should instead motivate you. Remember, if you get to the competent or proficient level, you have surpassed 60% to 90% of others. Isn’t that good motivation? Summary Today, when almost every business stores a lot of data, it is important to learn SQL programming skills. So, the question is not whether you should learn SQL but where to learn SQL and how to further improve this highly desired skill. In this article, we talked about the Dreyfus model and five basic steps through which we pass when developing our SQL programming skills. Once you start learning SQL by taking some online courses, you are at the first, novice, level. Further learning through practice brings you to the advanced beginner level. More and more experience brings you to the competent level. At this level, you have a better sense of what is relevant and what isn’t and why something does or doesn’t work. With persistence and SQL practice, you gain enough experience to be led by your intuition instead of rules and recipes. One way of practicing is to take interactive SQL courses found on LearnSQL.com. They can help you progress from one level to another. At the end of this journey are the last two levels, proficient and expert, which are the most difficult to reach. Only 2% of people are experts in a skill for which they trained. Would you like to be in that 2%? If your answer is yes, this article can help you with your journey. I encourage you to get there. Good luck! Tags: sql jobs and career data analyst