Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Excel Lookup Logic in SQL

Easy
SQL & Data ManipulationPivotData WranglingAsked 5 times

Problem

Context

Analysts often use VLOOKUP or XLOOKUP in Excel to pull values from one table into another. In SQL, the equivalent idea is usually implemented with joins rather than spreadsheet formulas.

Core Question

Explain how you would translate VLOOKUP or XLOOKUP logic into SQL. In your answer, cover:

  1. Which SQL operation is the closest equivalent
  2. The difference between returning only matched rows versus keeping all rows from the main table
  3. How to handle missing matches
  4. Why SQL is often better than spreadsheet lookups for larger datasets

Scope Guidance

The interviewer expects a practical conceptual explanation, not just a definition. You should describe the SQL pattern, compare it to Excel behavior, and give short PostgreSQL examples showing how lookup logic works in real tables.

Key Concepts

JOIN as the SQL lookup pattern

The closest SQL equivalent to VLOOKUP or XLOOKUP is a join, usually between a main table and a reference table. Instead of writing a formula per row, SQL matches rows across tables using a shared key such as customer_id, sku, or email.

SELECT s.sale_id, s.product_id, p.product_name
FROM sales s
LEFT JOIN products p
  ON s.product_id = p.product_id;

INNER JOIN vs LEFT JOIN

An INNER JOIN returns only rows where a match exists in both tables, which is similar to keeping only successful lookups. A LEFT JOIN keeps all rows from the main table and fills unmatched reference columns with NULL, which is often closer to how analysts expect lookup enrichment to behave.

SELECT s.sale_id, s.product_id, p.product_name
FROM sales s
LEFT JOIN products p
  ON s.product_id = p.product_id;

Handling missing matches

Excel users often expect a fallback value like "Not Found" when a lookup fails. In SQL, this is commonly handled with COALESCE, which replaces NULL values produced by a LEFT JOIN with a default label or value.

SELECT s.sale_id,
       COALESCE(p.product_name, 'Not Found') AS product_name
FROM sales s
LEFT JOIN products p
  ON s.product_id = p.product_id;

Retrieving multiple columns efficiently

A single SQL join can return many columns from the lookup table at once, while Excel lookups often require separate formulas or more advanced functions. This makes SQL more scalable and easier to maintain when multiple attributes are needed from the same reference table.

SELECT s.sale_id, s.product_id, p.product_name, p.category, p.list_price
FROM sales s
LEFT JOIN products p
  ON s.product_id = p.product_id;

Exact-match thinking and key quality

Most SQL joins behave like exact-match lookups, so the quality of the join key matters. If the key is duplicated or inconsistent, SQL can return multiple rows or unexpected results, which is a common source of mistakes when translating spreadsheet logic into database queries.

SELECT c.customer_id, c.customer_name, r.region_name
FROM customers c
LEFT JOIN regions r
  ON c.region_code = r.region_code;

You are practicing as a guest. Sign up free to get your answer graded with AI feedback. Your draft stays right here.

Sign up freeI have an account
Sign up to unlock solutions
Microsoft Business Analyst Interview QuestionsDiscover Financial Analyst Interview QuestionsCollabera Financial Analyst Interview QuestionsAdvanced Micro Devices Data Analyst Interview QuestionsDiscover Interview Questions
Next questions
GoogleReplace Excel VLOOKUP with SQL JoinsEasyCheck Point Software TechnologiesSQL Alternative to Excel LookupEasyCVS HealthTranslate VLOOKUP to SQL JoinsEasy
0 / ~200 words