Array

Em PostgreSQL, o tipo de dados ARRAY permite que você armazene uma lista de valores de um mesmo tipo em uma única coluna de uma tabela. Isso é útil quando você precisa armazenar múltiplos valores relacionados em um único campo. Aqui estão algumas operações básicas que você pode realizar com o tipo de dados ARRAY:

1. Criar uma tabela com um campo do tipo ARRAY:

CREATE TABLE alunos (
    id SERIAL PRIMARY KEY,
    disciplinas TEXT[]
);

Neste exemplo, disciplinas é um campo do tipo ARRAY que pode armazenar uma lista de strings representando disciplinas de um aluno.

2. Inserir dados em uma tabela com campos ARRAY:

INSERT INTO alunos (disciplinas)
VALUES ('{"Matemática", "História"}'),
       ('{"Física", "Química", "Biologia"}');

3. Consultar dados ARRAY:

-- Selecionar todos os alunos
SELECT * FROM alunos;

-- Selecionar alunos que têm a disciplina "Matemática"
SELECT * FROM alunos WHERE 'Matemática' = ANY(disciplinas);

4. Atualizar dados ARRAY:

-- Adicionar uma nova disciplina para um aluno específico
UPDATE alunos
SET disciplinas = array_append(disciplinas, 'Geografia')
WHERE id = 1;

5. Consultar elementos específicos do ARRAY:

-- Selecionar o primeiro elemento da lista de disciplinas
SELECT disciplinas[1] FROM alunos WHERE id = 1;

-- Selecionar todos os elementos da lista de disciplinas em um aluno
SELECT unnest(disciplinas) FROM alunos WHERE id = 1;

6. Ordenar um ARRAY:

-- Selecionar disciplinas em ordem alfabética para um aluno específico
SELECT id, array_agg(disciplina ORDER BY disciplina) AS disciplinas_ordenadas
FROM (SELECT id, unnest(disciplinas) AS disciplina FROM alunos) AS subquery
GROUP BY id;

Estes são exemplos básicos de como trabalhar com o tipo de dados ARRAY no PostgreSQL. É importante notar que as operações com ARRAY podem variar dependendo das suas necessidades específicas, mas esses exemplos devem lhe dar uma boa base para começar a trabalhar com arrays em PostgreSQL.