Summary: you will learn how to use MySQL WHERE clause to filter rows returned from the SELECT statement.
If you use the SELECT statement to query the data from a table without the WHERE
clause, you will get all rows in the table, which sometimes brings more data than you need. The WHERE
clause allows you to specify exact rows to select based on given conditions e.g., find all customers in the U.S.
The following query selects all customers whose country is U.S. from the customers
table. We use the WHERE
clause to filter the customers. In the WHERE
clause, we compare the values of the country
column with the USA
literal string.
SELECT customerName, city FROM customers WHERE country = 'USA';
You can form a simple condition like the query above, or a very complex one that combines multiple expressions with logical operators such as AND
and OR
. For example, to find all customers in the U.S . and also in the New York city, you use the following query:
SELECT customerName, city FROM customers WHERE country = 'USA' AND city = 'NYC';
You can test the condition for not only equality but also inequality. For example, to find all customers whose credit limit is greater than 200.000 USD, you use the following query:
SELECT customerName, creditlimit FROM customers WHERE creditlimit > 200000;
There are several useful operators that you can use in the WHERE clause to form more practical queries such as:
BETWEEN selects values within a range of values.
LIKE matches value based on pattern matching.
IN specifies if the value matches any value in a list.
IS NULL checks if the value is
NULL
The WHERE
clause is used not only with the SELECT
statement but also other SQL statements to filter rows such as DELETE and UPDATE.
In this tutorial, we’ve shown you how to use MySQL WHERE clause to filter records based on conditions.