PostgreSQL umožňuje nastavit sloupec jako několika rozměrné pole. V tomto příspěvku ukážu vytvoření sloupců, které budou obsahovat jednorozměrné pole.
Vytvoření tabulky favorite a naplnění daty.
create table favorite (
id serial not null,
person_id int not null,
favorite_names varchar(15)[],
favorite_numbers int[],
primary key(id)
);
insert into favorite (person_id, favorite_names, favorite_numbers) values
(4, '{"Petr", "Anna"}', '{7, 11, 23, 999}'),
(5, array['Alena'], '{1}'),
(7, '{"Marie", "Aneta", "Petr"}', array[17, 24]),
(9, array['Pankrác', 'Servác', 'Bonifác'], array[111, 13, 9, 2]);
Třetí sloupec obsahuje pole řetězců a čtvrtý sloupec pole celých čísel. Pole je možné vytvořit pomocí složených závorek a nebo pomocí konstruktoru ARRAY.
Zobrazení tabulky favorite.
select * from favorite;
Vypsání záznamů, které mají první záznam v poli favorite_numbers větší, než druhý záznam.
select * from favorite where favorite_numbers[1] > favorite_numbers[2];
Vypíše třetí oblíbené jméno a druhé oblíbené číslo pro každý záznam.
select favorite_names[3] as "Třetí oblíbené jméno", favorite_numbers[2] as "Druhé oblíbené číslo" from favorite;
Zobrazí pro každý záznam počet položek v poli favorite_names (počet oblíbených jmen).
select array_length(favorite_names, 1) as pocet_oblibenych_jmen from favorite;
Zdroje:

