Group By Flashcards

(14 cards)

1
Q

Para que serve o GROUP BY no SQL?

A

Agrupa os resultados da consulta com base em um ou mais campos, permitindo usar funções de agregação (como SUM, AVG, COUNT, etc.) sobre cada grupo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Como agrupar vendas por código do cliente e somar os valores?

A

SELECT cod_cliente, SUM(valor)
FROM vendas
GROUP BY cod_cliente;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

O que acontece se você usar uma coluna no SELECT que não está no GROUP BY nem é agregada?

A

Ocorrerá um erro: “not a GROUP BY expression”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Como agrupar por mês de uma data e contar as vendas?

A

SELECT TO_CHAR(data_venda, ‘MM’) AS mes, COUNT(*)
FROM vendas
GROUP BY TO_CHAR(data_venda, ‘MM’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como agrupar por dois campos (estado e cidade)?

A

SELECT estado, cidade, COUNT(*)
FROM clientes
GROUP BY estado, cidade;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Como agrupar e filtrar os grupos com média maior que 1000?

A

SELECT cod_cliente, AVG(valor)
FROM vendas
GROUP BY cod_cliente
HAVING AVG(valor) > 1000;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qual a diferença entre WHERE e HAVING no contexto de GROUP BY?

A

WHERE filtra antes do agrupamento (linha por linha).

HAVING filtra depois, já sobre os grupos formados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Como agrupar por ano de contratação?

A

SELECT EXTRACT(YEAR FROM data_contratacao) AS ano, COUNT(*)
FROM funcionarios
GROUP BY EXTRACT(YEAR FROM data_contratacao);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Como usar apelido no GROUP BY?

A

Não é permitido usar o alias do SELECT no GROUP BY. É necessário repetir a expressão.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Como contar a quantidade de clientes por estado ordenando pelo total?

A

SELECT estado, COUNT(*) AS total
FROM clientes
GROUP BY estado
ORDER BY total DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que deve aparecer no SELECT quando usamos GROUP BY?

A

Apenas colunas agrupadas ou funções de agregação (como COUNT, SUM, MAX, etc.).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como filtrar resultados após o agrupamento?

A

Com a cláusula HAVING, que filtra depois do GROUP BY.
HAVING COUNT(*) > 5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Erro comum ao usar GROUP BY

A

Selecionar colunas que não estão no GROUP BY e não são agregadas. Isso gera erro no Oracle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que aconteceria se a cláusula GROUP BY fosse omitida na subquery?

A

A query não agregaria as vendas por cliente e mês, resultando em um erro ou em resultados incorretos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly