N003 Tier 1 · Foundations

WHERE Clause and Comparison Operators in SQL

The WHERE clause filters the rows produced by FROM, keeping only those for which a condition evaluates to true. Its job is deciding which rows get processed at all.

WHERE is how you tell SQL which rows to keep.

Every query using FROM starts with the full table — every row, nothing filtered yet. WHERE looks at each row one at a time, applies a test, and keeps only the rows where the test passes. Rows that fail get dropped before SELECT ever sees them.

As an analyst, this is how you narrow a broad dataset to just what you need. Finance wants orders above a dollar threshold. Marketing needs customers from one country. Operations is tracking a specific status. In every case, you write one condition after WHERE and SQL does the filtering:

SELECT name, email
FROM customers
WHERE country = 'US'

SQL reads every row in customers. If country equals 'US', the row passes. If not, it's gone. Only matching rows reach the SELECT.

The comparison operators you'll use most: = (equals), <> (not equals), >, <, >=, <=. Anything that compares a column value to a number, a text string, or another expression uses one of these.

You can filter on any column in the table, even one you're not returning in SELECT. Filtering by price while only selecting name works fine.

The one thing that trips people up: text values need single quotes, numbers don't.

WHERE country = 'US' is correct. WHERE country = US gives you an error — SQL reads US as a column name. Numbers work without quotes: WHERE price > 100 is fine as written. Whenever the value you're filtering on is a word or phrase, wrap it in single quotes.

Check your understanding

You want rows where status equals 'pending'. Which WHERE condition is correct?

Practice

9 WHERE Clause and Comparison Operators practice problems

Start free to practice all 9 WHERE Clause and Comparison Operators problems, with instant grading and mastery tracking.

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.