Upload
sergio-ramos-da-silva
View
6
Download
0
Embed Size (px)
DESCRIPTION
Linguagem sql
Citation preview
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 valor de um conjunto de linhas.
Sintaxe:
SELECT MAX(conjunto) FROM tabela;
6
MIN
Retorna o menor valor de 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 umadeterminada coluna.
Sintaxe:
SELECT STDEV(conjunto) FROM tabela;
10
Agrupamentos e Ordenamentos
Permite agrupar ou ordenar linhas com base em valores de determinadascolunas;
São comumente usada com as funções de agregação;
Quando utilizadas juntas GROUP BY deve vir ANTES 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 filtradasDEPOIS do agrupamento;
Sintaxe:
SELECT expressao FROM tabela GROUP BY coluna HAVINGcondicao;
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áusulaFROM;
A cláusula WHERE deve conter OBRIGATORIAMENTE a condição deunião das tabelas;
Sintaxe:
SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHEREa.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áusulaFROM;
A cláusula WHERE deve conter OBRIGATORIAMENTE a condição deunião das tabelas;
Sintaxe:
SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHEREa.chavePK = b.FK;
14
INNER JOIN
Com o INNER JOIN teremos todos os registros comuns nas em duasou 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 natabela à 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ãona 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