Module lessons (3/4)
Filtering with WHERE
Often we do not need all the rows of a table, but only those that
satisfy a certain condition. The WHERE clause filters rows based on a
boolean expression:
SELECT <colonne>
FROM <tabella>
WHERE <condizione>;The engine evaluates the condition one row at a time and keeps only those
for which it returns TRUE.
Comparison operators
The most common ones are:
=equal,<>(or!=) not equal<,<=,>,>=BETWEEN a AND b— closed interval (a and b included)IN (v1, v2, …)— membership in a listLIKE 'patt%'— text matching with wildcard%
Text values are wrapped in single quotes: 'Milano'.
Combining conditions
You can combine multiple conditions with AND, OR and negate them with
NOT. When mixing them, use parentheses for clarity:
WHERE department_id = 1
AND (salary > 40000 OR hired_on < '2020-01-01');Try it
Extract first name (first_name), last name (last_name) and salary (salary) of the employees with a salary strictly greater than 40,000.
Show hint
The condition you need is salary > 40000. Numbers do not require quotes.
Solution available after 3 attempts
Review exercise
Extract first name (first_name) and last name (last_name) of the employees whose last name starts with the letter 'R'. Use LIKE with the % wildcard.
Show hint
The pattern 'R%' means: strings that start with R followed by anything.
Solution available after 3 attempts