Как выбрать строки, в которых хотя бы одно значение из списка есть в массиве?

В таблице table есть поле column, которая является массивом чисел. Как мне выбрать все строки в таблице, в которых встречается хотя бы одно из значений списка (1, 2, 3)?

Если бы значение было одно, то я бы сделал это так:

SELECT * FROM table WHERE 1 = ANY(column)

Ответы (2 шт):

Автор решения: Akina

Будет что-то типа

SELECT * 
FROM table 
WHERE (SELECT UNNEST(ARRAY[1,2,3])
       INTERSECT
       SELECT UNNEST(column)) IS NOT NULL
→ Ссылка
Автор решения: Мелкий
where column && array[1,2,3]

Оператор && для массивов - overlap (have elements in common), возвращает истину если у двух массивов есть хотя бы один общий элемент. Ровно то что вам необходимо.

→ Ссылка