Career

SQL Skills for Your Resume: The Levels, the Jobs, and How to Prove Yours

By Owen Middleton · Updated November 2026 · We ran the examples on PostgreSQL 17

SQL skills are the commands and clauses that you use to get, change and check data in a database. In our view, the main SQL skills are SELECT, WHERE, JOIN, GROUP BY, subqueries, CTEs and window functions, in three levels: basic, intermediate and advanced.

We make SQLMaxx Learn, a free SQL course, so we are not neutral on these questions.

What are the SQL skills, by level?

We put SQL skills in three levels, in the order that you learn them: basic, intermediate and advanced. The levels are our own grouping, and they follow the 5 tiers of the 66 lessons in SQLMaxx Learn. On O*NET OnLine, SQL is one skill, with no levels.

Basic SQL skills: read one table, filter and sort

With basic SQL skills, you get data from one table. You select columns with SELECT, filter rows with WHERE, and sort rows with ORDER BY. You remove duplicate rows with DISTINCT. These skills are in the 12 lessons of tier 1 of SQLMaxx Learn.

Intermediate SQL skills: GROUP BY, joins and subqueries

With intermediate SQL skills, you answer questions about groups of rows and about two or more tables. You count and add with aggregate functions and GROUP BY. You combine tables with joins. You put one query inside a different query, as a subquery. These skills are in the 15 lessons of tier 2 of SQLMaxx Learn.

Advanced SQL skills: CTEs and window functions

With advanced SQL skills, you write a long query in named steps, and you calculate across rows. You name each step with a CTE, a WITH clause. You calculate ranks, running totals and shares with window functions and OVER.

At this level, you also read a query plan and find the cause of a wrong result. The skills check below does not test these two skills. These skills are in the 39 lessons of tiers 3 to 5 of SQLMaxx Learn.

A SQL skills test that you run in your browser

In the check, you query the conversions table of Streamhub, a made-up software company. Each row is one purchase of a plan by one user. There are 60 rows and 3 plans. For task 2, you also need the users table, with the country of each user.

Schema · analytics2 tables? = nullable
users
idinteger
nametext
emailtext
countrytext
plantext
signed_up_attimestamptz
is_activeboolean
conversions
idinteger
user_id?integer
converted_attimestamptz
plantext
amountnumeric

With this query, you get the number of conversions and the revenue of each plan:

SELECT plan, COUNT(*) AS conversions, SUM(amount) AS revenue
FROM conversions
GROUP BY plan
ORDER BY revenue DESC;
planconversionsrevenue
enterprise 14 6986.00
pro 26 1274.00
starter 20 180.00
conversions and revenue for each plan

In the Streamhub data, the enterprise plan has fewer conversions than the pro plan, but it has the most revenue. Now do the three tasks below in the editor. Each task is at one level. Try each task before you open its answer.

SELECT plan, COUNT(*) AS conversions, SUM(amount) AS revenue
FROM conversions
GROUP BY plan
ORDER BY revenue DESC;
  1. Basic: show each plan and its amount one time, with the largest amount first.
    Show the answer to task 1
    SELECT DISTINCT plan, amount
    FROM conversions
    ORDER BY amount DESC;
    planamount
    enterprise 499.00
    pro 49.00
    starter 9.00
    one row for each plan and its amount

    You get 3 rows, so in the Streamhub data, each plan has one price.

  2. Intermediate: show the conversions and the revenue of each country. Join conversions to users on the user id.
    Show the answer to task 2
    SELECT u.country, COUNT(*) AS conversions, SUM(c.amount) AS revenue
    FROM conversions AS c
    JOIN users AS u ON u.id = c.user_id
    GROUP BY u.country
    ORDER BY revenue DESC, u.country;
    countryconversionsrevenue
    AU 8 2152.00
    US 14 1916.00
    GB 10 1230.00
    DE 8 1172.00
    CA 8 682.00
    FR 8 682.00
    JP 2 548.00
    KR 2 58.00
    conversions and revenue for each country

    You get 8 rows. In the Streamhub data, AU has the most revenue, but US has the most conversions. Two countries have the same revenue, so you also sort by country, as the second sort.

  3. Advanced: add a column with the share of the total revenue for each plan, as a percent with one decimal place.
    Show the answer to task 3
    SELECT plan, SUM(amount) AS revenue,
      ROUND(100 * SUM(amount) / SUM(SUM(amount)) OVER (), 1) AS revenue_pct
    FROM conversions
    GROUP BY plan
    ORDER BY revenue DESC;
    planrevenuerevenue_pct
    enterprise 6986.00 82.8
    pro 1274.00 15.1
    starter 180.00 2.1
    the share of revenue for each plan

    With the window function SUM(SUM(amount)) OVER (), you get the total of all plans on each row. In the Streamhub data, the enterprise plan has 82.8 percent of the revenue.

Put a skill on your resume only when you can do its task with no help. If you cannot do task 2 yet, start with the lesson on INNER JOIN.

How do you list SQL skills on a resume?

When you put SQL on a resume, show the employer your level. Do these four steps:

  1. Write SQL in your skills section, with the database product that you used, for example PostgreSQL.
  2. Write the SQL skills at your level, for example joins, GROUP BY and window functions. If you write only "SQL", the employer cannot see your level.
  3. For each project, write one line with the question, the SQL skill and the result.
  4. Write only the SQL skills that you can show in an interview.

These steps are our view. Use the words of the job post where they are true for you.

Here are three example resume lines. Write a line like these only for work that you did:

  • Skills section: "SQL (PostgreSQL): joins, GROUP BY, subqueries, CTEs, window functions".
  • Job: "Wrote SQL queries with joins and GROUP BY to report weekly sales by region."
  • Project: "Used SQL window functions on public transit data to find the busiest stations each month."

Which jobs use SQL? SQL careers in data, software and business

Jobs that use SQL are in data, in software and in business fields. O*NET OnLine is the website of the occupation database that the U.S. Department of Labor sponsors (O*NET OnLine Help: O*NET Overview). As of October 2026, it gives SQL the label "Hot Technology" for 151 occupations (O*NET OnLine, Hot Technologies: Structured query language SQL). O*NET says: "Hot Technologies are requirements frequently included in employer job postings" (O*NET OnLine, Technology Skills: Database Administrators).

Below are 11 of the 151 occupations. We chose them to show data, software, finance, marketing, accounting and security work.

For 8 of the 11 occupations in the list on this page, SQL is also "In Demand" for that occupation. The O*NET definition of "In Demand" is: "In Demand skills are frequently included in employer job postings for this occupation." The text after each name is our description of the SQL work, not the O*NET text.

In our view, an information security analyst must also know SQL injection. In this attack, a person puts SQL "via the input data from the client to the application" (OWASP, SQL Injection). With a successful attack, the person can "read sensitive data from the database".

When you search for jobs with SQL, you find many different job titles. Compare each job post with these occupations. Then read which SQL tasks the post names.

A related question is “can I get a job if I learn SQL?”. In our view, the answer depends on the job and on what else you can show. We think that each of the jobs on this page also needs other skills, for example the tools of the field and a knowledge of its data.

For analyst work, see our guide to SQL in data analysis, with real analyst queries.

Our guides to SQL and jobs

How do you get SQL experience before your first SQL job?

SQL experience is not only paid work. You can get SQL experience in three ways:

  • Do a project on public data, and write down the questions that your queries answer.
  • Solve practice problems where you get a check of your result.
  • Find a task in your current job where a query can replace a manual step.

In our view, a project is the best experience for a resume, because an employer can read the queries. We think that good SQL practice projects answer a real question with public data.

Does a SQL certificate prove your SQL skills?

With a SQL certificate, you show that you finished a course or passed a test. You do not show how you write a query today. In our view, a certificate helps most when an employer can check it, and when your resume also names a project.

In our guide, we put SQL certificates in three kinds: proctored exams, tests and course certificates. We answer the question “is there a SQL certification?” with a ranked list of all three kinds. For a certificate at no cost, see our list of where to learn SQL online free with certificate. We also make a free course with a certificate: see how our SQL course online with certificate works.

Our guides to SQL certificates

How do you prove your SQL skills in an interview?

In some SQL interviews, you get a live task: you write a query while the interviewer watches. For this type of task, we suggest these steps:

  1. Read the question.
  2. Say which tables and columns you need.
  3. Write the query in small steps.
  4. Run each step.
  5. Check the result with a number that you know, for example a row count.
  6. Explain each part of the query to the interviewer.

We also think that the best SQL practice for interviews is a problem that you have not seen before, with a time limit.

Is SQL still worth learning in 2026?

Yes. On O*NET OnLine, SQL is a Hot Technology for occupations in data, in software and in business (see the list above). The limit, in our view: SQL is one skill of a job, not the full job.

If your question is “is SQL outdated?”, start with the job data. We compare the studies of SQL in job posts and show where their results are different.

Build your SQL skills in SQLMaxx Learn

In SQLMaxx Learn, you start with SELECT and continue to the last tier, "Expert". On our course page, you can learn SQL hands-on in 66 lessons, in order. Lesson 1 is "SELECT and Column Expressions". You can start it in your browser with no account.

You write each query in a real PostgreSQL database and press "Check answer", but you learn only PostgreSQL and see no video.

Questions about SQL skills and jobs

Which version of SQL is best to put on a resume?

Write the database product that the job post names, if you used it. If the post names no product, write the product that you used, for example PostgreSQL. The formal name of the SQL standard is ISO/IEC 9075 "Database Language SQL". PostgreSQL "supports most of the major features of SQL:2023", but "no current version of any database management system claims full conformance to Core SQL:2023". In our view, you can use your SQL skills in a different product after you learn its differences. Source: PostgreSQL 17 documentation, SQL Conformance.

What is a SQL developer?

In our description, a SQL developer is a person who writes and maintains the SQL of an organization: queries, views, functions and the structure of tables. In our view, the job title has no one definition, and the tasks are different from one employer to another. Read the tasks in the job post, not only the title.

How can I get good at SQL?

In our view, you get good at SQL when you write many queries for real questions and check each result. Practice on several different days, not on one long day. Start a new topic only when you can do the tasks of the topic before it.