Only what you need
Databases hold millions of rows; you rarely want them all. WHERE keeps only rows that match a condition — and the database does the filtering, which is far faster than loading everything into your app.
Conditions
SELECT name, price FROM dishes WHERE price < 200;
SELECT name FROM dishes WHERE veg = true AND category = 'Starter';
SELECT name FROM dishes WHERE category IN ('Drink', 'Snack');
SELECT name FROM dishes WHERE name ILIKE '%momo%';
SELECT name FROM dishes WHERE spice_level IS NULL;