Explain IN Operator in SQL
In SQL, the IN
and NOT IN
operators are used to filter query results based on a list of values. Here's a breakdown of how each operator works:
IN
Operator
The IN
operator allows you to specify multiple values in a WHERE
clause. It is a shorthand for multiple OR
conditions.
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE column_name IN (value1, value2, ...);
Example
Assume you have a table Employees
with the following data:
EmployeeID |
Name |
Department |
1 |
Alice |
HR |
2 |
Bob |
Sales |
3 |
Charlie |
HR |
4 |
David |
IT |
5 |
Eve |
Sales |
If you want to select employees who are either in the HR or Sales departments, you would use:
SELECT EmployeeID, Name, Department
FROM Employees
WHERE Department IN ('HR', 'Sales');
Output
EmployeeID |
Name |
Department |
1 |
Alice |
HR |
2 |
Bob |
Sales |
3 |
Charlie |
HR |
5 |
Eve |
Sales |
NOT IN
Operator
The NOT IN
operator is the opposite of IN
. It filters the results to exclude rows where the column value is in the specified list.
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE column_name NOT IN (value1, value2, ...);
Example
Using the same Employees
table, if you want to select employees who are not in the HR or Sales departments, you would use:
SELECT EmployeeID, Name, Department
FROM Employees
WHERE Department NOT IN ('HR', 'Sales');
Output
EmployeeID |
Name |
Department |
4 |
David |
IT |
In this example, only David is in the IT department, which is not in the list of HR and Sales departments.
Both IN
and NOT IN
provide a convenient way to filter results based on multiple criteria.