Banco de Dados
Tema 6
Consultas em Uma Tabela no Postgresql
Módulo 1
Operar consultas com o comando SELECT
ESTRUTURA BÁSICA DE UM COMANDO
SELECT
Estrutura básica do comando SELECT:
• O comando SELECT é usado para exibir dados resultantes de uma consulta.
• Os dados podem ser colunas físicas de uma tabela, colunas calculadas ou resultado
do uso de expressões e funções.
• Sintaxe básica: SELECT COLUNA1 [[AS] APELIDOCOLUNA1], COLUNA2
[[AS] APELIDOCOLUNA2], … COLUNAN [[AS] APELIDOCOLUNAN]
FROM TABELA;
• A sintaxe completa abrange todos os recursos do PostgreSQL.
• Uso de asterisco (*):
• Para exibir todas as colunas especificadas em uma consulta: SELECT * FROM
TABELA;
• Alguns SGBDs, como PostgreSQL, permitem uma forma simplificada: TABLE
tabela.
• Exemplos de consultas:
• Consulta 01: Exibir todas as informações dos alunos.
• SELECT * FROM ALUNO;
FUNÇÕES DE DATA E HORA
Funções de Data e Hora:
• Funções do PostgreSQL:
• current_date: retorna a data de hoje.
• current_time: retorna a hora do dia.
• current_timestamp: retorna a data e a hora.
• extract (campo from fonte): extrai subcampos de data e hora
(século, ano, dia, mês).
• Exemplos de Uso:
• Exibição de resultados de funções de data e hora sem a cláusula FROM.
• Utilização do qualificador AS "Apelido" para facilitar o entendimento do
retorno de cada função.
• Exibindo o Nome do Dia da Semana:
• Uso do comando CASE para exibir o nome do dia da semana.
• Calculando Idade e Faixa Etária:
• Uso das funções AGE e EXTRACT para calcular a idade dos alunos.
• Construção de uma lógica utilizando o comando CASE para determinar a
faixa etária dos alunos.
FUNÇÕES DE RESUMO OU DE
AGREGAÇÃO
Funções para Resumo de Dados:
• COUNT(*): número de linhas da consulta.
• MIN(COLUNA/EXPRESSÃO): menor valor de uma coluna ou expressão.
• AVG(COLUNA/EXPRESSÃO): valor médio da coluna ou expressão.
• MAX(COLUNA/EXPRESSÃO): maior valor de uma coluna ou expressão.
• SUM(COLUNA/EXPRESSÃO): soma dos valores de uma coluna ou expressão.
• STDDEV(COLUNA/EXPRESSÃO): desvio padrão dos valores de uma coluna ou
expressão.
• VARIANCE(COLUNA/EXPRESSÃO): variância dos valores de uma coluna ou
expressão.
Listando Resumos em uma Linha:
• Utilização de consultas individuais para obter quantitativos de cursos, disciplinas e
alunos.
• Concatenação das consultas em uma única linha para exibir todos os resultados.
Módulo 2
Operar consultas usando a cláusula WHERE
Cláusula WHERE e Operadores da SQL:
• Cláusula WHERE e Operadores da SQL:
• Sintaxe Básica do Comando SELECT com WHERE e ORDER BY:
• Utilização das cláusulas WHERE e ORDER BY para filtrar e ordenar os
resultados de uma consulta.
• Propósito do SELECT: declarar as colunas da consulta.
• FROM: informar a tabela alvo da consulta.
• WHERE: especificar alguma condição, simples ou composta, para filtrar
registros.
• ORDER BY: declarar uma ou mais colunas como critério de ordenação.
• Possibilidade de especificar se valores NULL aparecem no início ou
no final do resultado.
• Operadores Relacionais:
• <: menor
• <=: menor ou igual a
• >: maior
• >=: maior ou igual a
• =: igual
• <> ou !=: diferente
• Operadores Lógicos:
• AND: conjunção
• OR: disjunção
• NOT: negação
Módulo 3
Operar consultas envolvendo agrupamento de dados
CONSULTAS COM GROUP BY E HAVING
Consultas com GROUP BY e HAVING:
• Objetivo: Agrupar registros com base em determinadas colunas e aplicar condições a esses
grupos.
• Sintaxe Básica:
• Utilização da cláusula GROUP BY para agrupar registros com base em uma ou mais
colunas.
• Utilização da cláusula HAVING para aplicar condições aos grupos formados pelo
GROUP BY.
GRUPO DE DADOS
Grupo de Dados:
• Objetivo: Aprender a projetar consultas com agrupamento de dados usando os
comandos GROUP BY e HAVING.
• Utilização de Funções de Resumo: SUM, AVG, MIN e MAX representam soma,
média, mínimo e máximo, respectivamente.
• Aplicações: Úteis para construir relatórios e aplicações gerenciais e analíticas.
• Formação de Grupos: Valores de uma coluna podem formar grupos sobre os quais
podemos recuperar dados.
• Exemplo: Divisão de registros com base no valor da coluna "sexo".
• Representação de Grupos: Linhas com o mesmo valor para a coluna formam um
grupo.
• Ilustração: Uso de chaves para representar linhas dentro de colunas.
• Solução em SQL: Uso da cláusula DISTINCT no comando SELECT para exibir o
grupo de dados baseado na coluna "sexo".
• Cláusula mais Adequada: Em SQL, o GROUP BY é a cláusula mais apropriada
para trabalhar com agrupamento de dados.
GRUPO DE DADOS COM GROUP BY
Grupo de Dados com GROUP BY:
• Funcionalidade da Cláusula: Serve para exibir resultados de consulta de acordo com um
grupo especificado.
• Posicionamento na Consulta: Declarada após a cláusula FROM ou após a cláusula
WHERE, caso exista.
• Uso com Funções de Agregação: Associada a funções de agregação como COUNT, MIN,
MAX e AVG.
GRUPO DE DADOS COM GROUP BY E
HAVING
Grupo de Dados com GROUP BY e HAVING:
• Funcionalidade da Cláusula HAVING: Utilizada para estabelecer filtros em consultas com
base em cálculos originados a partir de funções de agregação.
• Diferença da Cláusula WHERE: Enquanto a cláusula WHERE é usada para filtros em
condições simples ou compostas envolvendo colunas da tabela ou funções de data, o
HAVING é utilizado para filtros em resultados de funções de agregação.