In this tutorial, we will learn how to select a record based on a specific condition from the table using SQL.
SQL WHERE
clause is used to filter records. WHERE
clause is used to specify a condition while fetching/retrieving the records from a single table or by joining with multiple tables. If given condition satisfied, only then it returns a specific record or value from the table.
SELECT column1, column2....columnN
FROM tableName
WHERE [CONDITION];
UPDATE tableName
SET column1=[new value1],column2=[new value2]....columnN=[new valueN]
WHERE [CONDITION];
DELETE FROM tableName
WHERE [CONDITION];
Let us consider this table "Employee" for records.
Table Name: Employee
ID | EmpName | City | Country | Gender | Salary |
1 | Shankar | Delhi | India | male | 25000 |
2 | Sourabh | Delhi | India | male | 30000 |
3 | Ranvijay | Mumbai | India | male | 15000 |
4 | Kapil | Noida | India | male | 25000 |
5 | Shalini | Jaipur | India | female | 18000 |
6 | Rakesh | Faridabad | India | male | 23000 |
7 | Akshay | Mumbai | India | male | 21000 |
8 | Sarah | New York | US | female | 76000 |
9 | Rocky | Noida | India | male | 28000 |
Here are some examples of Where
clause:
For finding an employee whose salary is greater than 25000,
SELECT * FROM Employee
WHERE Salary > 25000;
ID | EmpName | City | Country | Gender | Salary |
2 | Sourabh | Delhi | India | male | 30000 |
8 | Sarah | New York | US | female | 76000 |
9 | Rocky | Noida | India | male | 28000 |
You can Filter Records based on multiple Condition using operators: AND
and OR
Operator
AND Operator: The AND
operator filters the records only when both the first condition and second condition is satisfy.
For finding an employee whose City is "Delhi" and Country is "India"
SELECT * FROM Employee
WHERE City='Delhi' AND Country='India';
ID | EmpName | City | Country | Gender | Salary |
1 | Shankar | Delhi | India | male | 25000 |
2 | Sourabh | Delhi | India | male | 30000 |
OR Operator: The OR
operator filters the records when either the first condition or second condition is satisfied.
For finding an employee whose City is "Delhi" or Country is "India"
SELECT * FROM Employee
WHERE City='Delhi' OR Country='India';
ID | EmpName | City | Country | Gender | Salary |
1 | Shankar | Delhi | India | male | 25000 |
2 | Sourabh | Delhi | India | male | 30000 |
3 | Ranvijay | Mumbai | India | male | 15000 |
4 | Kapil | Noida | India | male | 25000 |
5 | Shalini | Jaipur | India | female | 18000 |
6 | Rakesh | Faridabad | India | male | 23000 |
7 | Akshay | Mumbai | India | male | 21000 |
9 | Rocky | Noida | India | male | 28000 |
The following operators can be used in the WHERE
clause:
Operator | Description |
= | Equal |
<> | Not equal. Note: In some versions of SQL this operator may be written as != |
> | Greater than |
< | Less than |
>= | Greater than or equal to |
<= | Less than or equal to |
BETWEEN | Between a certain range |
LIKE | Search for a pattern |
IN | To specify multiple possible values for a column |