N001-M2 Tier 1 · Foundations · medium

Return each charge alongside the total shipping cost in a single row

Part of SELECT and Column Expressions in SQL

The problem

Brightlane's logistics team is preparing an itemized cost breakdown for a single shipment, ahead of invoicing the customer. The shipment carries three charges: a fuel surcharge of $18.50, a handling fee of $7.25, and an insurance charge of $4.00.

Write a query to return each charge alongside the total shipping cost in a single row.

Output:

  • A single row with four columns, in this order: fuel_surcharge, handling_fee, insurance, and total_cost.

Run previews · Check grades

Write a query, then run it to see results here.

Worked solution Try it yourself first
Solution query
SELECT
  18.50 AS fuel_surcharge,
  7.25 AS handling_fee,
  4.00 AS insurance,
  18.50 + 7.25 + 4.00 AS total_cost

The shape

Three labeled literal charges and a total expression that adds them up, all returned as four columns in a single row.

Clause by clause

  • 18.50 AS fuel_surcharge, 7.25 AS handling_fee, and 4.00 AS insurance are three labeled numeric literals. Each one is a straight value from the shipment manifest, with AS naming the column so the row reads as an itemized invoice rather than four anonymous numbers. The columns come back in the same order they're written in the SELECT list, which is what lets the result feed straight into an invoice template without any post-processing.
  • 18.50 + 7.25 + 4.00 AS total_cost is the roll-up. Each operand carries two decimal places, so PostgreSQL preserves that scale through the additions and returns 29.75 with the same precision the inputs had. There's no rounding step; the result of adding numerics whose scales match is exact.

Why this and not just add the named columns

The breakdown columns — fuel_surcharge, handling_fee, and insurance — can't be referenced from inside the total_cost expression. Every expression in the SELECT list evaluates against the same input at the same time, and aliases come into being only after the whole SELECT finishes. By then the row is already on its way out, so the total has to be written from the underlying literals.

Repeating the literals is the trade-off. The four columns share the same source numbers; writing them twice is the cost of producing the breakdown and the total side by side in a single row. When everything has to live inside a single SELECT list, computing the same numbers more than once is part of the shape.

You practiced returning the components of a sum alongside the sum itself. The breakdown-plus-total shape recurs anywhere a query shows both detail and roll-up in the same row.

How you actually get good at SQL

Reading explains SQL. Writing it, over and over with instant feedback, is what makes you fluent.

That's the whole SQLMaxx loop: 600+ real problems, instant AI feedback, mastery you can actually see, and spaced review that won't let you forget.

A stack of SQL practice problem cards, the top card showing an employees table.
615 problems · 66 concepts

Real problems. Not toy examples.

615 hand-built problems spanning all 66 concepts, from basic SELECTs to window functions, built on real schemas and real business questions, the kind you'll actually get asked on the job. Enough reps to make SQL automatic.

A retro computer showing a SQL query marked correct with a green checkmark.
Instant AI feedback

Write a query. Know if it's right in one second.

No copying an answer and hoping it clicked. The AI grader checks your real query against real data, catches exactly what's wrong, and explains the fix in plain English, like a senior analyst reading over your shoulder on every problem.

A circular mastery progress dial filling from blue to green, the SQLMaxx diamond at its center.
Mastery tracking

Stop guessing whether you actually know it.

SQLMaxx tracks every concept and shows you what you've mastered and what's still shaky. Your skills fill in one concept at a time, so 'I think I get joins' becomes something you can prove.

A SQL query editor circled by a blue return arrow with a clock, scheduled to come back for review.
Spaced review

Learn it once. Keep it for good.

Most of what you learn this week fades by next week. So when a concept comes due for review, SQLMaxx hands you a fresh problem to solve from a blank editor, not a flashcard to re-read. A research-backed spaced-repetition algorithm (FSRS) times each return for right before you'd forget, so your SQL is still there months later, when the interview or the job actually needs it.

Practice, feedback, mastery, review. That's the loop that turns reading into real skill.

Start free

No account, no credit card. Start solving in under a minute.