SQL Quest › SQL Interview Questions › Joins
Transactions at High-Risk Merchants
Risk tier is a merchant attribute. The transaction row has a merchant_id and nothing else about the merchant, so WHERE risk_tier = 'high' cannot run until you have joined merchants in. This is the single most common first mistake on a ledger screen: filtering on a column that is not in the FROM table yet.
Return the 20 largest transactions at merchants whose risk_tier is 'high': txn_id, merchant (the merchant's name), category, amount and txn_at. Order by amount descending, then txn_id ascending.
Solve it in the browser editor →
Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".
Schema
transactions
| txn_id | account_id | amount | txn_at | merchant_id | lat | lng | status |
|---|---|---|---|---|---|---|---|
| 1 | 149 | 151.84 | 2026-03-04T12:39:39.078Z | 24 | 40.342 | -74.4092 | completed |
| 2 | 21 | 10.72 | 2026-03-04T13:04:50.641Z | 7 | 52.9366 | 13.3229 | completed |
| 3 | 35 | 158.78 | 2026-03-04T13:27:15.528Z | 25 | 52.7397 | 13.3134 | completed |
merchants
| merchant_id | name | category | country | risk_tier |
|---|---|---|---|---|
| 1 | BigBox Mart | Grocery | TR | high |
| 2 | Quick Stop | Electronics | JP | high |
| 3 | Aurora Cafe | Travel | TR | high |
Expected output: 2129 BigBox Mart Grocery 8754.25 2026-05-02T12:00:00.000Z; ...
Hint
name on its own is ambiguous once two tables are in play. Three of the 25 merchants are high risk.Concepts
SELECT JOIN WHERE ORDER BY LIMIT
Practise the topic: SQL practice questions · JOIN practice
In these company practice sets
A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.
Related questions
Where would this cost you points in an interview?
Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.
Take the readiness test