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: