SlideShare uma empresa Scribd logo
Funções de grupo,
agrupamentos e pesquisa
em múltiplas tabelas
Acadêmico: Sérgio Ramos da Silva
Disciplina: Tópicos Especiais em Tecnologia I
Professor: André Luís Schwerz
Funções de agregação
 Funções de agregação operam em um conjunto de linhas;
 São utilizadas entre o SELECT e o FROM;
 As mais comuns na linguagem SQL são:
2
COUNT
 Retorna o número de linhas que atende determinada condição.
 Sintaxe:
SELECT COUNT(condicao) FROM tabela;
3
SUM
 Retorna a soma de um conjunto de valores.
 Sintaxe:
SELECT SUM(conjunto) FROM tabela;
4
AVG
 Retorna a média aritmética de um conjunto de valores.
 Sintaxe:
SELECT AVG(conjunto) FROM tabela;
5
MAX
 Retorna o maior valorde um conjunto de linhas.
 Sintaxe:
SELECT MAX(conjunto) FROM tabela;
6
MIN
 Retorna o menor valorde um conjunto de linhas.
 Sintaxe:
SELECT MIN(conjunto) FROM tabela;
7
VARIANCE
 Retorna a variância de uma determinada coluna.
 Sintaxe:
SELECT VARIANCE(conjunto) FROM tabela;
8
STDDEV
 Retorna o desvio-padrão de umadeterminadacoluna.
 Sintaxe:
SELECT STDEV(conjunto) FROM tabela;
10
Agrupamentos e Ordenamentos
 Permite agrupar ou ordenar linhas com base em valores de determinadas
colunas;
 São comumente usada com as funções de agregação;
 Quando utilizadas juntas GROUP BY deve virANTES de ORDER BY;
 Sintaxe:
SELECT expressao FROM tabela GROUP BY coluna;
SELECT expressao FROM tabela ORDER BY coluna;
SELECT expressao FROM tabela GROUP BY coluna ORDER BY coluna;
11
Cláusula HAVING
 A cláusula HAVING é utilizado para filtrar resultados de funções agregadas;
 Diferente da cláusula WHERE, ao utilizarmos o HAVING as linhas são filtradas
DEPOIS do agrupamento;
 Sintaxe:
 SELECT expressao FROM tabela GROUP BY coluna HAVING
condicao;
12
Pesquisa em múltiplas tabelas
(JOIN)
 Uma consulta que combina linhas de duas ou mais tabelas;
 As tabelas que serão unidas são acrescentadas após a cláusula
FROM;
 A cláusula WHERE deve conter OBRIGATORIAMENTE a condição de
união das tabelas;
 Sintaxe:
SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE
a.chavePK = b.FK;
13
Produto Cartesiano
 Uma consulta que combina linhas de duas ou mais tabelas;
 As tabelas que serão unidas são acrescentadas após a cláusula
FROM;
 A cláusula WHERE deve conter OBRIGATORIAMENTE a condição de
união das tabelas;
 Sintaxe:
SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE
a.chavePK = b.FK;
14
INNER JOIN
 Com o INNER JOIN teremos todos os registros comuns nas em duas
ou mais tabelas.
 Sintaxe:
SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 INNER JOIN
tabela2 AS t2 ON t1.coluna = t2.coluna;
15
INNER JOIN16
LEFT JOIN
 Com o LEFT JOIN teremos todos os registros da tabela que estão na
tabela à esquerda e os registros que são comuns com a tabela à
direita;
 Sintaxe:
SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 LEFT JOIN
tabela2 AS t2 ON t1.coluna = t2.coluna;
17
LEFT JOIN18
RIGHT JOIN
 Com o RIGTH JOIN teremos todos os registros da tabela que estão
na tabela à direita e os registros que são comuns com a tabela à
esquerda;
 Sintaxe:
SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 RIGTH JOIN
tabela2 AS t2 ON t1.coluna = t2.coluna;
19
RIGHT JOIN20
FULL JOIN
 Com o FULL JOIN teremos todos os registros em ambas as tabelas;
 Sintaxe:
SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 FULL JOIN
tabela2 AS t2 ON t1.coluna = t2.coluna;
21
FULL JOIN22
Dúvidas23

Mais conteúdo relacionado

Semelhante a Funções de grupo, agrupamentos e pesquisa em

Aula1
Aula1Aula1
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
Alexandre Silva
 
Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2
César Augusto Pessôa
 
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdfwepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
JOSIMARMENEGATT2
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
Ricardo Kovalski Cruz
 
Inner Join
Inner JoinInner Join
Inner Join
Danilo Alves
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
Marcos Thomaz
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
Jorge Ávila Miranda
 
Aula7 sql basico_6por_pag
Aula7 sql basico_6por_pagAula7 sql basico_6por_pag
Aula7 sql basico_6por_pag
anacri
 
Slide do 8º emcontro
Slide do 8º emcontroSlide do 8º emcontro
Slide do 8º emcontro
Vaniacalmeida
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacional
Hélio Martins
 
Funções de Base de Dados
Funções de Base de DadosFunções de Base de Dados
Funções de Base de Dados
Paula Peres
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançado
aeduar
 
SQL JOINs.pptx
SQL JOINs.pptxSQL JOINs.pptx
SQL JOINs.pptx
ssuser52becb
 
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdfAula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
AngeloOliveira60
 
Dicas oracle sql
Dicas oracle sqlDicas oracle sql
Dicas oracle sql
Marcos Oliveira
 
04 funções
04   funções04   funções
04 funções
Marcelo Kendrick
 
Sql junções
Sql junçõesSql junções
Sql junções
Reuel Lopes
 
DDL Resumo ddl
DDL Resumo ddlDDL Resumo ddl
DDL Resumo ddl
Wendely Amorim
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
Centro Paula Souza
 

Semelhante a Funções de grupo, agrupamentos e pesquisa em (20)

Aula1
Aula1Aula1
Aula1
 
Consultas SQL
Consultas SQLConsultas SQL
Consultas SQL
 
Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2Aula 4 - Manipulando e Resgatando Dados 2
Aula 4 - Manipulando e Resgatando Dados 2
 
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdfwepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
wepik-introducao-aos-conceitos-de-sql-20230620200232U48s.pdf
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Inner Join
Inner JoinInner Join
Inner Join
 
Curso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos ComandosCurso de PostgreSQL: Um pouco Além dos Comandos
Curso de PostgreSQL: Um pouco Além dos Comandos
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
Aula7 sql basico_6por_pag
Aula7 sql basico_6por_pagAula7 sql basico_6por_pag
Aula7 sql basico_6por_pag
 
Slide do 8º emcontro
Slide do 8º emcontroSlide do 8º emcontro
Slide do 8º emcontro
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacional
 
Funções de Base de Dados
Funções de Base de DadosFunções de Base de Dados
Funções de Base de Dados
 
Apostila excel avançado
Apostila excel avançadoApostila excel avançado
Apostila excel avançado
 
SQL JOINs.pptx
SQL JOINs.pptxSQL JOINs.pptx
SQL JOINs.pptx
 
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdfAula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
Aula03 - BDII - Comsulta Básica, Consultas com Funções e Agregação.pdf
 
Dicas oracle sql
Dicas oracle sqlDicas oracle sql
Dicas oracle sql
 
04 funções
04   funções04   funções
04 funções
 
Sql junções
Sql junçõesSql junções
Sql junções
 
DDL Resumo ddl
DDL Resumo ddlDDL Resumo ddl
DDL Resumo ddl
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 

Último

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 

Último (8)

História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 

Funções de grupo, agrupamentos e pesquisa em

  • 1. Funções de grupo, agrupamentos e pesquisa em múltiplas tabelas Acadêmico: Sérgio Ramos da Silva Disciplina: Tópicos Especiais em Tecnologia I Professor: André Luís Schwerz
  • 2. Funções de agregação  Funções de agregação operam em um conjunto de linhas;  São utilizadas entre o SELECT e o FROM;  As mais comuns na linguagem SQL são: 2
  • 3. COUNT  Retorna o número de linhas que atende determinada condição.  Sintaxe: SELECT COUNT(condicao) FROM tabela; 3
  • 4. SUM  Retorna a soma de um conjunto de valores.  Sintaxe: SELECT SUM(conjunto) FROM tabela; 4
  • 5. AVG  Retorna a média aritmética de um conjunto de valores.  Sintaxe: SELECT AVG(conjunto) FROM tabela; 5
  • 6. MAX  Retorna o maior valorde um conjunto de linhas.  Sintaxe: SELECT MAX(conjunto) FROM tabela; 6
  • 7. MIN  Retorna o menor valorde um conjunto de linhas.  Sintaxe: SELECT MIN(conjunto) FROM tabela; 7
  • 8. VARIANCE  Retorna a variância de uma determinada coluna.  Sintaxe: SELECT VARIANCE(conjunto) FROM tabela; 8
  • 9. STDDEV  Retorna o desvio-padrão de umadeterminadacoluna.  Sintaxe: SELECT STDEV(conjunto) FROM tabela; 10
  • 10. Agrupamentos e Ordenamentos  Permite agrupar ou ordenar linhas com base em valores de determinadas colunas;  São comumente usada com as funções de agregação;  Quando utilizadas juntas GROUP BY deve virANTES de ORDER BY;  Sintaxe: SELECT expressao FROM tabela GROUP BY coluna; SELECT expressao FROM tabela ORDER BY coluna; SELECT expressao FROM tabela GROUP BY coluna ORDER BY coluna; 11
  • 11. Cláusula HAVING  A cláusula HAVING é utilizado para filtrar resultados de funções agregadas;  Diferente da cláusula WHERE, ao utilizarmos o HAVING as linhas são filtradas DEPOIS do agrupamento;  Sintaxe:  SELECT expressao FROM tabela GROUP BY coluna HAVING condicao; 12
  • 12. Pesquisa em múltiplas tabelas (JOIN)  Uma consulta que combina linhas de duas ou mais tabelas;  As tabelas que serão unidas são acrescentadas após a cláusula FROM;  A cláusula WHERE deve conter OBRIGATORIAMENTE a condição de união das tabelas;  Sintaxe: SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE a.chavePK = b.FK; 13
  • 13. Produto Cartesiano  Uma consulta que combina linhas de duas ou mais tabelas;  As tabelas que serão unidas são acrescentadas após a cláusula FROM;  A cláusula WHERE deve conter OBRIGATORIAMENTE a condição de união das tabelas;  Sintaxe: SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE a.chavePK = b.FK; 14
  • 14. INNER JOIN  Com o INNER JOIN teremos todos os registros comuns nas em duas ou mais tabelas.  Sintaxe: SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 INNER JOIN tabela2 AS t2 ON t1.coluna = t2.coluna; 15
  • 16. LEFT JOIN  Com o LEFT JOIN teremos todos os registros da tabela que estão na tabela à esquerda e os registros que são comuns com a tabela à direita;  Sintaxe: SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 LEFT JOIN tabela2 AS t2 ON t1.coluna = t2.coluna; 17
  • 18. RIGHT JOIN  Com o RIGTH JOIN teremos todos os registros da tabela que estão na tabela à direita e os registros que são comuns com a tabela à esquerda;  Sintaxe: SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 RIGTH JOIN tabela2 AS t2 ON t1.coluna = t2.coluna; 19
  • 20. FULL JOIN  Com o FULL JOIN teremos todos os registros em ambas as tabelas;  Sintaxe: SELECT t1.coluna, t2.coluna FROM tabela1 AS t1 FULL JOIN tabela2 AS t2 ON t1.coluna = t2.coluna; 21