2. Aula 07 - Banco de dados
01 – Funções (Agregação, Data, Matemáticas, String)
Logusti.com.br
Professor Anderson Henrique
3. 01 – Funções (Agregação, Data, Matemáticas, String)
● FUNÇÃO é um recurso que facilita muitas tarefas corriqueiras do programa SQL, que
disponibiliza diversas funções divididas em grupos de características opcionais.
Encontram-se funções para manipulação de datas, operações matemáticas, agregação
para operações estatísticas, entre outras.
● FUNÇÕES DE AGREGAÇÃO são destinadas a obter resultados sobre os registros de um
banco de dados em uso. Temos as funções AVG() – retorna a média aritmética,
COUNT() – retorna a quantidade de registros, MAX() – retorna o maior valor, MIN() –
retorna o menor valor, SUM() – retorna a soma.
Logusti.com.br
Professor Anderson Henrique
4. 01 – Funções (Agregação, Data, Matemáticas, String)
● A função AVG() retorna o valor médio de uma expressão que representa um grupo de
valores inteiros ou reais. Na existência de valores tipo NULL, eles são ignorados pela
função.
● No exemplo a seguir apresenta quatro consultas com valores médios dos salários
recebidos por todos os usuários, e também pelos usuários que possuem o campo perfil
1.
● SELECT AVG(salario) FROM table1;
● SELECT AVG(DISTINCT salario) FROM table1;
● SELECT AVG(salario) FROM table1 WHERE id_perfil = 1;
● SELECT AVG(DISTINCT salario) FROM table1 WHERE id_perfil = 1;
Logusti.com.br
Professor Anderson Henrique
5. Logusti.com.br
Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● A função COUNT() retorna o valor numérico inteiro de itens de um campo específico de
dados.
● No exemplo a seguir mostra a quantidade de itens da tabela usuario em duas formas
distintas: a primeira mostra a quantidade de usuários locados com o perfil 1, a
segunda, a quantidade de usuários locados com estado civil 2.
● SELECT COUNT(*) FROM table1 WHERE id_perfil = 1;
● SELECT COUNT(id_estado_civil) FROM table1 WHERE id_estado_civil = 2;
● Outro exemplo é a necessidade de saber de fato o número de usuários ativos. Note o
uso do parâmetro DISTINCT para evitar que valores iguais de identificação sejam
contados
● SELECT COUNT(DISTINCT nome) FROM table1;
6. Logusti.com.br
Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● A função MAX() retorna o maior valor numérico de uma lista de valores numéricos
inteiros ou reais representados por campos numéricos.
● O exemplo a seguir consulta e apresenta o valor do maior salário existente entre todos
os usuários.
● SELECT MAX(salario) FROM table1;
● A função MIN() retorna o menor valor numérico de uma lista de valores numéricos
inteiros ou reais representados por campos numéricos.
● O exemplo a seguir consulta e apresenta o valor do menor salário existente entre todos
os usuários.
● SELECT MIN(salario) FROM table1;
7. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● A função SUM() retorna o resultado da soma efetuada dos valores de um campo
numérico da tabela. Esta função desconsidera na soma os valores do tipo NULL.
● O exemplo abaixo apresenta duas consultas, sendo a primeira com a soma de salários a
serem pagos mensalmente para todos os usuários e a segunda com a soma dos salários
dos funcionários que recebem acima de 1500
● SELECT SUM(salario) FROM table1;
● SELECT SUM(salario) FROM table1 WHERE salario > 1500;
8. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● FUNÇÕES DE DATA são usadas para obter acesso às características de tempo
disponibilizadas no programa. Entre as funções temos: CURDATE() ou
CURRENT_DATE() – retorna a data atual do servidor. Ex.: SELECT CURDATE(); SELECT
CURRENT_DATE();
● DATE_FORMAT(date, format) – alterar o formato da data. Ex.:
DATE_FORMAT(CURDATE(), ‘%d/%m/%Y’);
● EXTRACT(info, date) – podemos extrair várias informações sobre a data. Ex.: SELECT
EXTRACT(DAY FROM CURDATE()) AS DIA, EXTRACT(MONTH FROM CURDATE()) AS MES,
EXTRACT(YEAR FROM CURDATE()) AS ANO; DATE_ADD() – permite adicionar
quantidade de dias a uma data. Ex.: SELECT
● DATE_ADD(CURDATE(), INTERVAL 30 DAY);
9. 01 – Funções (Agregação, Data, Matemáticas, String)
● DATEDIFF() – podemos encontrar a diferença em dias entre duas datas através da
subtração. Ex.: SELECT DATEDIFF(‘2019-10-25’, ‘2019-10-05’);
● PERIOD_DIFF() – podemos encontrar a diferença entre as duas datas em meses, ao
passar a data não é aceito uso de separadores. Ex.: SELECT PERIOD_DIFF(‘201911’,
‘201910’);
● DAYOFYEAR() – ela retorna o dia do ano (1-366), temos que passar uma data no
formato YYYY-mm-dd como parâmetro. Ex.: SELECT DAYOFYEAR(‘2019-11-26’);
10. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● FUNÇÕES MATEMÁTICAS retornam respostas matemáticas para algumas situações.
Dentre elas: ABS() – retorna o valor absoluto de um número, ACOS() – retorna o arco
cosseno de um número, ASIN() – retorna o arco seno de um número, ATAN() – retorna
o arco tangente de um número, COS() – retorna o cosseno de um número, COT() –
retorna o cotangente de um número, DEGREES() – retorna o valor em grau de um
número informado em radianos, CEIL() – arredonda o número para o primeiro inteiro
acima, EXP() – retorna o exponencial de um número, FLOOR – retorna a parte inteira
ou igual ao valor fornecido, LOG() – retorna o logaritmo natural de um número, PI() –
retorna o valor da constante pi, POWER(), retorna o valor da potência de dois valores
fornecidos como base e expoente, RADIANS() – retorna o valor em radianos de um
número informado em graus, RAND(), retorna um valor pseudoaleatório entre 0 e 1,
11. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● ROUND() – retorna o arredondamento de um valor informado, RAND() – retorna um
valor decimal aleatório, SIN() – retorna o seno de um número, SQRT() – retorna a raiz
quadrada de um número e TAN() – retorna a tangente de um número.
● SELECT ABS(-8.238765);
● SELECT ACOS(0.5); [entre -1 e 1]
● SELECT ASIN(0.5); [entre -1 e 1]
● SELECT ATAN(-145);
● SELECT COS(365);
● SELECT COT(1); SELECT COT(ASIN(1));
● SELECT DEGREES(ASIN(1)); SELECT DEGRESS(1);
14. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● FUNÇÕES STRING manipulam a estrutura de caracteres alfanuméricos definidos em um
banco de dados. Serão vistas as funções: CONCAT() e CONCAT_WS() – concatena dois
ou mais campos, LENGHT() e CHAR_LENGTH() – retorna o tamanho de uma string
informada e retorna a quantidade de caracteres, SUBSTR() – retorna parte de uma
string a partir da delimitação de um ponto inicial e de um ponto final, LCASE() e
LOWER() – retorna em caracteres minúsculos a string informada, CHAR() – retorna um
caractere contido dentro da tabela ASCII, LEFT() – retorna a parte esquerda de uma
string delimitada, RTRIM – remove de uma string os espaços em branco à direita, e
UCASE() e UPPER() – retorna em caracteres maiúsculos a string informada, LPAD() e
RPAD() – preenche com caracteres à esquerda ou à direita até o tamanho estabelecido,
15. 01 – Funções (Agregação, Data, Matemáticas, String)
● LTRIM, TRIM e RTRIM – remove espaços à esquerda, todos, à direita, mas não remove
espaços entre caracteres, REPEAT() – repete N vezes um determinado caractere,
REPLACE() – troca um caractere ou sequência dentro de uma string, RIGHT() – retorna
a parte direita de uma string delimitada, REVERSE – reverte, retorna string invetida.
16. Professor Anderson Henrique
01 – Funções (Agregação, Data, Matemáticas, String)
● Algumas das funções string operam seus resultados com base nas colunas de uma
tabela e também em valores fornecidos isoladamente como argumentos. Mas há
também funções que somente operam com parâmetros simples.
● SELECT concat(campo1, ‘ - ’, campo2); SELECT concat_ws(‘;’, campo1, campo2);
● SELECT substr(campo1, 1, 3); SELECT substr(campo2, 1, 4);
● SELECT length(campo1); SELECT length(campo2); SELECT char_length(‘Melissa’);
● SELECT lcase(campo1); SELECT lower(campo2);
● SELECT ucase(campo1);
● SELECT char(65); SELECT char(65,76,69,88);
● SELECT left(‘Piracicaba’, 4);
19. Para a próxima aula
01 – Agrupamentos e Uniões: Agrupar e Unir dados (GROUP BY, UNION)
02 – Visualização de Dados (VIEWS [Tabelas Virtuais])
03 – Ordenação de Dados (ORDER BY), Limitar Consultas de Registros (LIMIT)
Logusti.com.br
Professor Anderson Henrique