SQL IN operator


The IN operator allows you to specify multiple values in the WHERE clause.

The IN operator is a short case of multiple OR conditions.

SQL IN syntax

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

Or

SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);

Demonstrate the database


In this tutorial, we'll use the famous Northwind sample database.

The following data is selected from the Customers table:

CustomerID CustomerName ContactName Address City PostalCode Country
1
Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4
Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

An instance of the IN operator


The following SQL statement picks all customers located in "Germany," "France", and "UK":

Code example:

SELECT * FROM Customers
WHERE Country IN ('Germany', 'France', 'UK');

The following SQL statement picks all customers who are not in "Germany," "France," or "UK":

Code example:

SELECT * FROM Customers
WHERE Country NOT IN ('Germany', 'France', 'UK');

The following SQL statement picks all customers from the same country as vendors:

Code example:

SELECT * FROM Customers
WHERE Country IN (SELECT Country FROM Suppliers);