O documento discute funções de agregação e junções em SQL, incluindo COUNT, SUM, AVG, MAX, MIN, VARIANCE, STDDEV, GROUP BY, HAVING, INNER JOIN, LEFT JOIN, RIGHT JOIN e FULL JOIN. As funções de agregação operam em conjuntos de linhas e retornam valores numéricos agregados, enquanto os JOINs combinam linhas de múltiplas tabelas usando chaves estrangeiras.
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