Open In App

SQL | WHERE Clause

Last Updated : 18 Jun, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

The SQL WHERE clause allows filtering of records in queries. Whether you are retrieving data, updating records, or deleting entries from a database, the WHERE clause plays an important role in defining which rows will be affected by the query. Without WHERE clause, SQL queries would return all rows in a table making it difficult to target specific data. In this article, we will learn the WHERE clause in detail from basic concepts to advanced ones covering real world examples.

How to Use SQL WHERE clause for Data Retrieval?

The SQL WHERE clause is used to specify a condition while fetching or modifying data in a database. It filters the rows that are affected by the SELECT, UPDATE, DELETE, or INSERT operations. The condition can range from simple comparisons to complex expressions, enabling precise targeting of the data. By using the WHERE clause, we ensure that your queries only return or affect relevant records improving data retrieval accuracy and query performance.

Syntax:

SELECT column1,column2 FROM table_name WHERE column_name operator value;

Parameters:

  1. column1,column2: fields in the table
  2. table_name: name of table
  3. column_name: name of field used for filtering the data
  4. operator: operation to be considered for filtering
  5. value: exact value or pattern to get related data in the result 

Importance of WHERE Clause

The WHERE clause is critical for several reasons:

  • Data Accuracy: It allows you to retrieve only the rows that match the condition, ensuring your results are accurate.
  • Performance: By limiting the amount of data retrieved, it can improve query performance, especially when dealing with large datasets.
  • Flexibility: It works with various operators, enabling complex filtering conditions tailored to your needs.

Examples of WHERE Clause in SQL

We will create a basic employee table structure in SQL for performing all the where clause operation.

Query:

CREATE TABLE Emp1(
    EmpID INT PRIMARY KEY,
    Name VARCHAR(50),
    Country VARCHAR(50),
    Age int(2),
  mob int(10)
);
-- Insert some sample data into the Customers table
INSERT INTO Emp1 (EmpID, Name,Country, Age, mob)
VALUES (1, 'Shubham',  'India','23','738479734'),
       (2, 'Aman ',  'Australia','21','436789555'),
       (3, 'Naveen', 'Sri lanka','24','34873847'),
       (4, 'Aditya',  'Austria','21','328440934'),
       (5, 'Nishant', 'Spain','22','73248679');

Output:

EmpIDNameCountryAgemob
1ShubhamIndia23738479734
2AmanAustralia21436789555
3NaveenSri lanka2434873847
4AdityaAustria21328440934
5NishantSpain2273248679

Example 1: Where Clause with Logical Operators

To fetch records of  Employee with age equal to 24. 

Query:

SELECT * FROM Emp1 WHERE Age=24;

Output:

To fetch the EmpID, Name and Country of Employees with Age greater than 21. 

Query:

SELECT EmpID, Name, Country FROM Emp1 WHERE Age > 21;

Output:

Example 2: Where Clause with BETWEEN Operator

It is used to fetch filtered data in a given range inclusive of two values. 

Syntax: 

SELECT column1,column2 FROM table_name 
WHERE column_name BETWEEN value1 AND value2;

Parameters:

  1. BETWEEN: operator name 
  2. value1 AND value2: exact value from value1 to value2 to get related data in result set.  

To fetch records of Employees where Age is between 22 and 24 (inclusive).

Query:

SELECT * FROM Emp1 WHERE Age BETWEEN 22 AND 24;

Output:

Example 3: Where Clause with LIKE Operator

It is used to fetch filtered data by searching for a particular pattern in the where clause. 

Syntax: 

SELECT column1,column2 FROM

table_name WHERE column_name LIKE pattern;

Parameters:

  1. LIKE: operator name 
  2. pattern: exact value extracted from the pattern to get related data in the result set

To fetch records of Employees where Name starts with the letter S.

Query:

SELECT * FROM Emp1 WHERE Name LIKE 'S%'; 

The '%'(wildcard) signifies the later characters here which can be of any length and value. 

Output:

To fetch records of Employees where Name contains the pattern 'M'.

Query:

SELECT * FROM Emp1 WHERE Name LIKE '%M%';

Output:

Example 4: Where Clause with IN Operator

It is used to fetch the filtered data same as fetched by '=' operator just the difference is that here we can specify multiple values for which we can get the result set.

Syntax: 

SELECT column1,column2 FROM table_name WHERE column_name IN (value1,value2,..);

Parameters:

  1. IN: operator name 
  2. value1,value2,..: exact value matching the values given and get related data in the result set.

To fetch the Names of Employees where Age is 21 or 23.

Query:

SELECT Name FROM Emp1 WHERE Age IN (21,23);

Output:

List of Operators that Can be Used with WHERE Clause

OperatorDescription
>Greater Than
>=Greater than or Equal to
<Less Than
<=Less than or Equal to
=Equal to
<>Not Equal to
BETWEENIn an inclusive Range
LIKESearch for a pattern
INTo specify multiple possible values for a column

Conclusion

The WHERE clause is used for filtering and refining SQL queries. Whether you are working with basic conditions, using logical operators or performing advanced queries with subqueries and EXISTS, mastering the WHERE clause is essential for every SQL user. By learning to filter data efficiently, avoiding common mistakes and optimizing your queries, you will be able to write clean, fast, and accurate SQL queries.


Next Article
Article Tags :
Practice Tags :

Similar Reads