SQL for Excel users

Nothing here is skippable, because you have never written SQL. But 10 of the 26 skills are things you already do in a spreadsheet under another name, which is the difference between about 33 hours and 47. The traps are joins that duplicate rows and blanks that quietly vanish.

Sources checked, not expert-reviewedSQL & Data AnalysisNo signup
Settle it — take the check, about ten minutes
This page assumes
  • You build pivot tables without thinking about it and write lookup formulas across sheets.
  • You have a workbook somebody else depends on, with more than one tab feeding it.
  • You have never had to say out loud what one row of your result is supposed to mean.
If none of that is you, the ordinary SQL & Data Analysis path is the better page — it assumes nothing.
0Skipped, if we are right
10Already yours, renamed
16New to you
33–47Hours, not 47
The low end assumes what transfers really does transfer; the high end assumes none of it does. Nothing comes off for the skills we think you have until a check says so. Lay it out week by week at the hours you actually have.
01 · What transfers

Things you already do, under another name

These stay on the path. What you bring is a head start on the idea, not the hours — and each one has a place where the resemblance stops being true.

The columns you keep and rename in a sheet are the whole of a SELECT list.

The difference is which way round the default runs. A spreadsheet shows you everything and you hide what you do not want; a query returns nothing you did not ask for, so a column you forgot is silence rather than a visible gap.

Autofilter, sort and show top rows are filtering, ordering and limiting.

A sheet filter is a view you can see through — the hidden rows are still there and the row numbers jump to prove it. A query's filter removes them, so a condition that is subtly wrong gives you a smaller, entirely plausible table with nothing to notice.

A pivot table is a GROUP BY with the grain chosen by dragging.

The dragging is doing work you will have to do in words: deciding what one row of the result means, and naming every column you want across the top before you run it rather than letting the tool discover them.

SUM, AVERAGE and COUNTA are aggregate functions, blank cells and all.

Both tools skip blanks and both are quiet about it,2 so an average over a column with gaps is an average of fewer rows than you counted — in a sheet and in a query alike, though they disagree about the edges.3

A lookup formula is an inner join that has already decided what to do about a miss.

A lookup returns one match per row and an error where there is none.1 A join returns every match, so two matching rows in the other table means two rows out, and a total that was right before the join is now double. This is the single most expensive habit to bring across.

Remove Duplicates is the same instinct as DISTINCT, applied at a different moment.

In a sheet you do it once, at the end, to a table you can see. In a query it matters where you do it — a DISTINCT after a join hides the duplication the join caused instead of fixing it, and the totals stay wrong.

Grouping dates by month in a pivot is date truncation.

A pivot shows the months that appear in the data. A time series usually has to show the ones that do not, because a period with no rows is exactly the period somebody will ask about.

You have been burned by a sheet deciding that a product code was a number.

Same failure, opposite manners. A spreadsheet guesses and reformats silently; a database refuses and names the value it could not read. The better failure, and the noisier one.

02 · Where you start

Open to you today

Nothing below is waiting on anything else you have not done. This is read off the dependency graph, not chosen.
03 · The rest

What none of this covers

  • foundationsone skill · ~2h
  • aggregationone skill · ~1h
  • joins4 skills · ~9h
  • composition3 skills · ~5h
  • windows4 skills · ~9h
  • analysis2 skills · ~5h
  • performanceone skill · ~3h
The full skill map has every one of them, in the order they depend on each other.
04 · The graded work

Briefs you could not hand in today

Each one targets at least one skill this page has not credited you with. The marking checklist is published before you start.
05 · Where this comes from

Sources, and what each is worth

  1. 1. LibreOffice Calc, Spreadsheet Lookup FunctionsThe plainest statement of what a lookup actually promises — one match, one row — which is the assumption this page spends most of its time dismantling.
  2. 2. PostgreSQL, Aggregate FunctionsThe reference, and where the null-skipping rule is stated plainly rather than discovered in a review.
  3. 3. NULL Handling in SQLite Versus Other Database EnginesShort, and useful because it shows the rules are not universal — read once so you stop assuming they are.
06 · Also asked

Questions that come with this one

Will I still need spreadsheets?

Yes, and nothing here pretends otherwise. What changes is which half of the work goes where — the query answers the question at a grain you can state, and the sheet is where somebody reads the answer.

Is XLOOKUP closer to a join than VLOOKUP is?

Closer in manners, not in kind. It still returns one match per row, which is the assumption a join drops, and dropping it is how a total that was right becomes a total that is double.

How long does it take from a standing start?

It is a range rather than a promise — around 33 hours if what transfers really does, and up to 47 if none of it does. The check is what tells you which end you are nearer.

Do I need a database installed to practise?

No. Every check on this site runs in the browser without an account, and each graded brief says what data it expects and where to get it.

Arriving with something else

Find out which half of this is true

Everything above is what we would assume about spreadsheet users. The check asks you instead — it adapts as you answer, needs no account, and what it settles carries into the path if you build one.

About ten minutes. Nothing is marked until you hand something in.Take the SQL & Data Analysis check

One cookie, so we can see which subjects people finish and where the site loses them — plus a replay of where you click. Nothing you type is recorded, and once you’re signed in the words on screen are blanked out too. No advertising, nothing sold. The detail.