What SQL Do Data Analysts Need, and How Much?
By Owen Middleton · Updated November 2026
What SQL data analysts need is SQL to read data: filters, joins, GROUP BY and subqueries first, then CTEs and window functions. The guides do not agree about SQL to change data: INSERT, UPDATE and DELETE are in four of the six guides. In our view, many analyst jobs need little of it.
We counted the SQL topics in six guides: four are in the Google top 10 for this question in October 2026, and two are from a web search. We put the topics in three levels. We found no count of SQL topics in job posts, so this is a count of guides.
We make SQLMaxx Learn, a free SQL course, so we have an interest in your answer.
Is SQL required for data analysts?
Yes, for many data analyst jobs, but not for every job. To know if you need SQL for one data analyst job, read its job post. In one study, SQL is in about half of the posts.
In a study of 855 data analyst job posts from Indeed USA, 365 Data Science found SQL in 52.9% of the posts (365 Data Science, The Data Analyst Job Market, first published in May 2024, updated in April 2026). The 52.9% figure is the same in a copy from July 2024. The page does not say when the posts were collected.
ESCO, the job classification of the European Commission, lists "query languages" as essential knowledge for a data analyst (ESCO v1.2.1, occupation "data analyst"). SQL is one of the query languages in ESCO (ESCO v1.2.1, skill "query languages"), but SQL itself is not on the ESCO list for the occupation.
In our view, many analyst jobs also ask for a spreadsheet or a BI tool, in addition to SQL.
Which SQL topics does a data analyst need?
We counted the SQL skills needed for data analyst work in six guides on 2026-10-18. A guide counts for a topic only when it names the topic as a skill to learn. Text that only explains a sample query or a project task does not count. This is a count of guides, not of job posts. We put SQL to change data or to manage the database apart from the levels, because SQLMaxx Learn does not teach it, except one lesson that makes a table from a query.
Four guides are in the Google top 10 for this question in October 2026, and two are from a web search:
- Mimo, SQL for Data Analysis: Beginner’s Guide (Google top 10)
- GeeksforGeeks, SQL for Data Analysis (Google top 10)
- Fivetran, Why SQL is a must-have skill for every data analyst (Google top 10)
- freeCodeCamp, Essential SQL Concepts for Data Analysts (Google top 10)
- Dataquest, 10 SQL Skills You Need to Know (web search)
- MLTUT, How Much SQL is Needed for Data Analyst? (web search)
Of the other six results in the Google top 10, four are forum or social posts (Reddit, LinkedIn, Quora and Facebook). The other two, from Rasmussen and from Twilio, describe how analysts use SQL, and they are not lists of topics to learn. Fivetran does not name SELECT. We count it for "retrieve specific pieces of data".
The rule for the levels:
- Level 1: topics in five or six of the six guides.
- Level 2: topics to read data, in two to four of the guides.
- Level 3 (our view): topics that we think analysts need. They are in one guide or in no guide.
- SQL to change data or to manage the database (not in a level): the section after level 3 explains why.
Each lesson in the lists below is a free lesson page, with its number in our course.
Level 1 data analyst SQL: SELECT, joins and GROUP BY
Level 1 is SELECT, joins, aggregate functions with GROUP BY, filters (WHERE), sorts (ORDER BY) and subqueries. SELECT and joins are in all six guides. Aggregate functions or GROUP BY, filters, sorts and subqueries are in five guides. For one total for each group, see GROUP BY in practice in lesson 14.
- 1 SELECT and Column Expressions
- 3 WHERE Clause and Comparison Operators
- 7 ORDER BY and Result Sorting
- 13 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
- 14 GROUP BY
- 17 INNER JOIN
- 18 LEFT JOIN and RIGHT JOIN
- 22 Joining Multiple Tables
- 24 Scalar Subqueries
- 25 Subqueries in WHERE (IN, EXISTS, ANY, ALL)
Level 2 data analyst SQL: HAVING, CTEs and window functions
With level 2 topics, you can write a query in steps, follow a number over time, make a query faster and clean the values in a result. Each topic, with its number of guides:
- HAVING: four
- CTEs: four
- window functions: four
- running totals: four
- totals by day, week or month: two
- date and string functions: two
- LAG or LEAD: two
- indexes and query performance: three
- CASE: two
- NULL values: two
To start window functions, see the free Window Functions Introduction lesson (lesson 38).
- 5 NULL Semantics and IS NULL
- 15 HAVING
- 16 CASE WHEN Expressions
- 28 COALESCE and NULLIF
- 30 Common Table Expressions (CTEs)
- 33 Date Truncation and Extraction
- 35 String Functions (LENGTH, UPPER, LOWER, TRIM, SUBSTRING)
- 38 Window Functions Introduction (OVER, PARTITION BY)
- 42 LAG and LEAD
- 57 Grouping by Date Periods
- 60 Reading EXPLAIN Output
- 61 Query Structure Patterns for Performance
- 64 Running Totals and Cumulative Metrics
Level 3 data analyst SQL: period over period, join fan-out and funnels
This level is our view. Period over period analysis, join fan-out and funnels are in no guide. We put these topics here because analysts use them for questions about growth and product use. In our view, join fan-out is a core analyst skill: after a join, you can get one row many times, and your totals can be too large.
SQL to change data: outside the three levels
The authors of the guides do not agree. INSERT, UPDATE and DELETE are in four of the six guides, and tables, views, stored procedures or triggers are in five. By our count alone, INSERT, UPDATE and DELETE would be level 2, and tables, views, procedures and triggers would be level 1.
In our view, many analyst jobs need little of this SQL. SQLMaxx Learn has no lessons on INSERT, UPDATE, DELETE, views, triggers or stored procedures. One lesson makes a table from a query: lesson 41, "Temp Tables and CREATE TABLE AS SELECT".
How much SQL does a data analyst need for a first job?
In our view, you need level 1 SQL that you can write from memory, and level 2 SQL that you can read and change. Level 3 depends on the job.
Check your SQL level with one task
The task uses two tables of Helix Systems, a made-up tech company: job_history (one row for each
role that an employee had) and departments (one row for each department). In
job_history, start_date is the date when the role started.
Schema · hr2 tables? = nullable
The SQL task: roles in each department since 2022
Write the query in the editor below. Then press "Check task 1".
For this task, you need only level 1 SQL: a join, a filter, GROUP BY and a sort. If you can write it from memory, start to learn level 2.
Which SQL dialect should a data analyst learn?
Learn the dialect of the database at your job, or at the job that you want. If you do not know it yet, start with one dialect. In our view, the core of a query (SELECT, joins and GROUP BY) is almost the same in each dialect, and date functions are the most different.
SQLMaxx Learn teaches only PostgreSQL.
Start SQLMaxx Learn lesson 1
SQLMaxx Learn is free. See our SQL course, lesson by lesson: all 66 lessons on one page. Lesson 1 is "SELECT and Column Expressions", and you can start it in your browser with no account.
Each topic in levels 1 to 3 has a free lesson with graded problems in PostgreSQL, but SQLMaxx Learn does not teach SQL to change data.
To see these topics in analyst work, read SQL for data analysts. To compare courses, see where to learn SQL for data analysis.
Questions about the SQL that data analysts need
Is SQL necessary for a business analyst?
Not always. ESCO (v1.2.1) lists 53 skills for a business analyst, and none of them is a query language. In our view, some business analyst jobs ask for SQL and many do not, so read the job post. Source: ESCO v1.2.1, occupation "business analyst".
Is SQL required for a financial analyst?
Not in the ESCO description of the job. ESCO (v1.2.1) lists 47 skills for a financial analyst, and none of them is a query language or a database. In our view, some financial analyst jobs ask for SQL, for example to get data for a financial report. Source: ESCO v1.2.1, occupation "financial analyst".
Do data analysts need advanced SQL?
In our view, not at the start: few analysts need window frames or recursive CTEs in a first job. In SQLMaxx Learn, window frames are in lesson 44 (Advanced course tier) and recursive CTEs are in lesson 52 (Advanced course tier).