Все возможные комбинации пар значений из колонки

Есть в таблице колонка "fruits"

apple
banana
mango
orange

Как можно написать sql запрос что бы на выходе получить (в массиве?) все возможные комбинации пар значений:

apple banana
apple mango
apple orange
banana apple
....
orange mango

Спасибо.


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

Автор решения: frozencoast
SELECT array_agg(CONCAT(a.fruits, ' ', b.fruits))
FROM table as a, table as b 
WHERE a.fruits <> b.fruits

либо

SELECT ARRAY(
  SELECT CONCAT(a.fruits, ' ', b.fruits)
  FROM table as a, table as b 
  WHERE a.fruits <> b.fruits
)
→ Ссылка
Автор решения: Ainar-G

Это же классический CROSS JOIN:

SELECT *
  FROM t_1
       CROSS JOIN t_1 AS t_2
 WHERE t_1.title <> t_2.title
;
→ Ссылка