IN
Last updated
Last updated
The IN
operator allows you to check whether a value matches any value in a list of values.
Here’s the basic syntax of the IN
operator
The IN
operator returns true if the value
is equal to any value in the list such as value1
and value2
. The list of values can be a list of literal values including numbers and strings.
The following example uses the IN
operator to retrieve information about the film with id 1, 2, and 3
The following statement uses the equal (=
) and OR
operators instead of the IN
operator, which is equivalent to the query above.
The query that uses the IN
operator is shorter and more readable than the query that uses equal (=
) and OR
operators. Additionally, PostgreSQL executes the query with the IN
operator much faster than the same query that uses a list of OR
operators.
The following example uses the IN
operator to find the actors who have the last name in the list 'Allen'
, 'Chase'
, and 'Davis'
The following statement uses the IN operator to find payments whose payment dates are in a list of dates: 2007-02-15
and 2007-02-16
To negate the IN
operator, you use the NOT IN
operator. Here’s the basic syntax of the NOT IN
operator
The NOT IN
operator returns true
if the value
is not equal to any value in the list such as value1
and value2
; otherwise, the NOT IN
operator returns false
.
The NOT IN
operator is equivalent to a combination of multiple boolean expressions with the AND operators
The following example uses the NOT IN
operator to retrieve films whose id is not 1, 2, or 3,
Output:
The following query retrieves the same set of data but uses the not-equal (<>
) and AND
operators