Предполагая следующую структуру данных:
CREATE TABLE my_table
(
id BIGINT PRIMARY KEY,
array_column TEXT[]
);
INSERT INTO my_table ( id, array_column ) VALUES ( 1, ARRAY['first'] );
INSERT INTO my_table ( id, array_column ) VALUES ( 2, ARRAY['first','second'] );
INSERT INTO my_table ( id, array_column ) VALUES ( 3, ARRAY['first','second','third'] );
Объединение содержит оператор (@>
) и содержится оператором (<@
):
SELECT
*
FROM
my_table
WHERE
array_column <@ ARRAY['second','first'] AND
array_column @> ARRAY['second','first'];
Вывод:
| id | array_column |
|----|--------------|
| 2 | first,second |
SQLFiddle