Last Updated : 23 Jul, 2025
The MySQL IN operator is used to filter data based on a specified set of values. It is a shorthand for multiple OR conditions which allows us to specify a list of values in a WHERE clause to match records that have any of those values. This makes your SQL queries more concise and easier to read.
MySQL IN OperatorThe IN operator is a powerful and efficient way to filter data within a specified set of values. It is particularly useful when we need to match a column's value against multiple possible values. Instead of writing multiple OR conditions, we can use the IN operator to check multiple values. It can be used with any data type.
Syntax:SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);
Parameters:
We will create a sample database to see how to use the IN operator.
Create 'studentsInfo' table:
CREATE TABLE studentsInfo (Output id name age grade city 1 Amit Sharma 18 A Delhi 2 Priya Singh 19 B Mumbai 3 Raj Patel 20 A Ahmedabad 4 Sneha Reddy 21 C Hyderabad 5 Arjun Rao 22 B Bangalore MySQL IN Operator Example
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
age INT,
grade CHAR(2),
city VARCHAR(50)
);INSERT INTO studentsInfo (name, age, grade, city) VALUES
('Amit Sharma', 18, 'A', 'Delhi'),
('Priya Singh', 19, 'B', 'Mumbai'),
('Raj Patel', 20, 'A', 'Ahmedabad'),
('Sneha Reddy', 21, 'C', 'Hyderabad'),
('Arjun Rao', 22, 'B', 'Bangalore');
Let’s see some examples of IN Operator and understand it works in MySQL:
Example 1: Select students who are in grades 'A' or 'B'SELECT id, name, grade, cityOutput: id name grade city 1 Amit Sharma A Delhi 2 Priya Singh B Mumbai 3 Raj Patel A Ahmedabad 5 Arjun Rao B Bangalore
FROM studentsInfo
WHERE grade IN ('A', 'B');
Explanation: This query retrieves students whose grades are either 'A' or 'B'. The IN
operator checks if the grade
column's value matches 'A' or 'B'.
SELECT id, name, cityOutput: id name city 1 Amit Sharma Delhi 3 Raj Patel Ahmedabad 4 Sneha Reddy Hyderabad
FROM studentsInfo
WHERE city NOT IN ('Mumbai', 'Bangalore');
Explanation: This query retrieves students whose cities are neither 'Mumbai' nor 'Bangalore'. The NOT IN
operator checks if the city
column's value does not match 'Mumbai' or 'Bangalore'.
SELECT id, name, age, city
FROM studentsInfo
WHERE age IN (18, 20, 22);
Output:
id name age city 1 Amit Sharma 18 Delhi 3 Raj Patel 20 Ahmedabad 5 Arjun Rao 22 BangaloreExplanation: This query retrieves students whose ages are either 18, 20, or 22. The IN
operator checks if the age
column's value matches any of the specified values (18, 20, 22).
The MySQL 'IN' operator is a powerful tool for filtering data by matching column values against a specified set. It simplifies complex queries and enhances readability, making it easier to manage and analyze data. By effectively utilizing the IN operator, you can simplify your SQL queries, improve performance, and handle multiple conditions with ease, making database management more efficient.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4