Skills test

SQL test

A SQL test measures whether someone can turn a business question into a correct query against a relational database, and read back the results with confidence. That means far more than remembering syntax: it is joining tables without dropping or duplicating rows, aggregating and grouping accurately, filtering on the right conditions, and handling the messy realities of production data like NULLs, duplicates and mismatched keys. Because analysts and engineers query data every day, this is one of the most directly job-relevant skills you can assess before an offer.

H-Evaluate presents candidates with realistic schemas and questions modelled on the work they will actually do, then evaluates the queries they write and the reasoning behind them. The goal is to predict on-the-job performance fairly, so every candidate is judged on demonstrated ability against consistent criteria rather than on a polished CV or a confident interview. This page explains what a strong SQL test should measure, the question formats to expect, who the test is for, and how to interpret the results you get back.

What it measures

Joins and data modelling

Whether a candidate can combine data across multiple tables using the correct join type and keys, avoiding accidental row loss from inner joins or fan-out duplication from one-to-many relationships. This is the single most common source of silently wrong analytics.

Aggregation and grouping

Correct use of GROUP BY, aggregate functions and HAVING to summarise data at the right grain, including distinguishing COUNT(*) from COUNT(column) and knowing when a metric needs COUNT(DISTINCT ...).

Filtering and conditional logic

Precise WHERE and CASE conditions, correct handling of ranges, IN, LIKE and boolean logic, and the difference between filtering rows before versus after aggregation.

NULL and edge-case handling

Awareness that NULLs break equality checks, skew aggregates and change join behaviour, and the judgement to handle empty result sets, duplicates and dirty data rather than trusting the first plausible number.

Query correctness and result interpretation

Whether the query actually answers the question asked and whether the candidate can explain what the output means and sanity-check it, which is what separates a real analyst from someone pattern-matching syntax.

Readability and efficiency

Structuring queries with clear aliases, CTEs and subqueries that colleagues can maintain, and avoiding needlessly expensive patterns on large tables such as unfiltered cross joins or redundant scans.

Question formats

Live query tasks against a sample schema, where the candidate writes SQL to answer a stated business questionDebugging tasks that present a query returning wrong or incomplete results to be diagnosed and fixedResult-reading questions that ask what a given query returns or why two similar queries differMultiple-choice items on join behaviour, aggregation and NULL semantics for quick screeningShort written answers explaining an approach, trade-off or how a result should be validated

Who it's for

This SQL test fits any role where querying data is part of the job: data and business analysts, analytics and data engineers, BI developers, backend engineers, and data-literate product or operations hires. It works from entry level, where correct joins and aggregation matter most, up to senior roles where efficiency, edge-case handling and result interpretation carry more weight. Use it early as a fair screen before interviews, or later to confirm hands-on ability a conversation cannot prove.

How to read the results

  • 1Read the score alongside the role: an entry-level analyst who nails joins, grouping and filtering is likely ready, while a senior data engineer should also handle NULLs, efficiency and ambiguous requirements cleanly.
  • 2Look at competency breakdowns, not just the headline number. A candidate strong on aggregation but weak on join correctness has a specific, coachable gap, whereas weak result interpretation is a deeper concern for analytics work.
  • 3Weight query correctness and reasoning over stylistic differences. There are many valid ways to write the same query, so focus on whether the answer is right and defensible rather than whether it matches your preferred syntax.
  • 4Treat the test as one calibrated, job-relevant signal to compare candidates consistently, then pair it with an interview to probe communication and how they think through unfamiliar problems.

Skills test

Assess this skill on real, job-relevant work

Configure a role-tuned assessment and watch it adapt by seniority — no signup.

Related roles

Related reading

Frequently asked questions

What is a SQL test?

A SQL test is a pre-employment assessment that measures whether a candidate can write and reason about SQL queries against a relational database. A good one goes beyond syntax recall to check that they can join tables correctly, aggregate and filter data accurately, handle NULLs and edge cases, and interpret the results, which are the everyday skills that predict success in analyst and engineering roles.

How do you assess SQL skills?

The most reliable way is to have candidates work with realistic data rather than answer trivia. H-Evaluate uses live query tasks against sample schemas, debugging exercises, result-reading questions and short written explanations, then evaluates each candidate against consistent, job-relevant criteria so you can compare people fairly and predict how they will perform on the job.

Which SQL dialects and skill levels does the test cover?

The test focuses on standard SQL concepts such as joins, aggregation, filtering, grouping and NULL handling that transfer across common engines like PostgreSQL, MySQL and SQL Server, so results are not tied to one vendor. Difficulty adapts to the role, from foundational querying for entry-level analysts to more demanding correctness, efficiency and edge-case scenarios for senior data engineers.