You are on page 1of 22

Funes de grupo,

agrupamentos e pesquisa
em mltiplas tabelas
Acadmico: Srgio Ramos da Silva
Disciplina: Tpicos Especiais em Tecnologia I
Professor: Andr Lus Schwerz

Funes de agregao
Funes de agregao operam em um conjunto de linhas;
So utilizadas entre o SELECT e o FROM;
As mais comuns na linguagem SQL so:

COUNT
Retorna o nmero de linhas que atende determinada condio.
Sintaxe:

SELECT COUNT(condicao) FROM tabela;

SUM
Retorna a soma de um conjunto de valores.
Sintaxe:

SELECT SUM(conjunto) FROM tabela;

AVG
Retorna a mdia aritmtica de um conjunto de valores.
Sintaxe:

SELECT AVG(conjunto) FROM tabela;

MAX
Retorna o maior valor de um conjunto de linhas.
Sintaxe:

SELECT MAX(conjunto) FROM tabela;

MIN
Retorna o menor valor de um conjunto de linhas.
Sintaxe:

SELECT MIN(conjunto) FROM tabela;

VARIANCE
Retorna a varincia de uma determinada coluna.
Sintaxe:

SELECT VARIANCE(conjunto) FROM tabela;

10

STDDEV
Retorna o desvio-padro de uma determinada coluna.
Sintaxe:

SELECT STDEV(conjunto) FROM tabela;

11

Agrupamentos e Ordenamentos
Permite agrupar ou ordenar linhas com base em valores de determinadas
colunas;
So comumente usada com as funes de agregao;
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;

12

Clusula HAVING
A clusula HAVING utilizado para filtrar resultados de funes agregadas;
Diferente da clusula WHERE, ao utilizarmos o HAVING as linhas so filtradas
DEPOIS do agrupamento;

Sintaxe:

SELECT expressao FROM tabela GROUP BY coluna HAVING


condicao;

13

Pesquisa em mltiplas tabelas


(JOIN)
Uma consulta que combina linhas de duas ou mais tabelas;
As tabelas que sero unidas so acrescentadas aps a clusula
FROM;
A clusula WHERE deve conter OBRIGATORIAMENTE a condio de
unio das tabelas;
Sintaxe:

SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE


a.chavePK = b.FK;

14

Produto Cartesiano
Uma consulta que combina linhas de duas ou mais tabelas;
As tabelas que sero unidas so acrescentadas aps a clusula
FROM;
A clusula WHERE deve conter OBRIGATORIAMENTE a condio de
unio das tabelas;
Sintaxe:

SELECT a.coluna, b.coluna FROM tabela1 AS a, tabela2 AS b WHERE


a.chavePK = b.FK;

15

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;

16

INNER JOIN

17

LEFT JOIN
Com o LEFT JOIN teremos todos os registros da tabela que esto na
tabela esquerda e os registros que so 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;

18

LEFT JOIN

19

RIGHT JOIN
Com o RIGTH JOIN teremos todos os registros da tabela que esto
na tabela direita e os registros que so 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;

20

RIGHT JOIN

21

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;

22

FULL JOIN

23

Dvidas

You might also like