IN predicate

Syntax

(column‑list) [ NOT ] IN ( values‑list )

Parameters

column‑list

One or more comma-delimited columns in the queried tables.

values‑list

Comma-delimited list of constant values to find in the column‑list columns. Each values‑list value maps to a column‑list column according to their order in values‑list and column‑list, respectively. Column/value pairs must have compatible data types.

You can specify multiple sets of values as follows:

( (values‑list), (values‑list)[,...] )

Examples

The following SELECT statement queries all data in table t11.

=> SELECT * FROM t11 ORDER BY pk;
 pk | col1 | col2 | SKIP_ME_FLAG
----+------+------+--------------
  1 |    2 |    3 | t
  2 |    3 |    4 | t
  3 |    4 |    5 | f
  4 |    5 |    6 | f
  5 |    6 |    7 | t
  6 |      |    8 | f
  7 |    8 |      | t
(7 rows)

The following query specifies an IN predicate, to find all rows in t11 where columns col1 and col2 contain values of (2,3) or (6,7):

=> SELECT * FROM t11 WHERE (col1, col2) IN ((2,3), (6,7)) ORDER BY pk;
 pk | col1 | col2 | SKIP_ME_FLAG
----+------+------+--------------
  1 |    2 |    3 | t
  5 |    6 |    7 | t
(2 rows)