Em uma instrução SQL, para manipular dados retornados de fu...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D - HAVING
A cláusula HAVING é utilizada em SQL para estabelecer condições que filtram o resultado de funções agregadoras, tais como COUNT()
, SUM()
, AVG()
, MAX()
e MIN()
. Diferentemente da cláusula WHERE
, que é aplicada antes da agregação dos dados, HAVING é utilizada após a agregação para restringir os grupos que serão incluídos no resultado final.
Por exemplo, para selecionar departamentos de uma empresa que têm mais de 10 empregados, utilizamos HAVING da seguinte maneira:
SELECT DepartmentID, COUNT(EmployeeID) AS EmployeeCount
FROM Employees
GROUP BY DepartmentID
HAVING COUNT(EmployeeID) > 10;
Essa consulta agrupa os empregados por departamento, conta-os e, em seguida, utilizando HAVING, filtra e retorna apenas os grupos que atendem à condição especificada - neste caso, departamentos com mais de 10 empregados. Isso demonstra o uso correto da cláusula HAVING para manipular dados retornados pelas funções agregadoras.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
a) JOIN DATA: essa cláusula não existe no SQL (no entanto, apenas JOIN existe e serve para fazer o cruzamento de dados entre tabelas).
b) SHOW: existe, mas serve para exibir informações de objetos do banco (tabelas, colunas, servidor...)
c) GROUP IN: essa cláusula não existe no SQL (no entando, GROUP BY existe e é utilizada junto com funções agregadoras para agrupar o resultado em uma ou mais colunas).
d) HAVING: foi adicionada no SQL porque a cláusula WHERE não pode ser utilizada junto com funções agregadoras.
e) UNIQUE OUT: essa cláusula não existe no SQL (no entando, apenas UNIQUE existe e serve para identificar que uma coluna não possuirá valores repetidos)
Fontes: http://www.w3schools.com/sql/sql_join.asp, http://dev.mysql.com/doc/refman/5.0/en/show.html, http://www.w3schools.com/sql/sql_groupby.asp, http://www.w3schools.com/SQL/sql_having.asp, http://www.w3schools.com/sql/sql_unique.asp
Cláusulas As cláusulas são condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta. FROM - Utilizada para especificar a tabela que se vai selecionar os registros. WHERE – Utilizada para especificar as condições que devem reunir os registros que serão selecionados. GROUP BY – Utilizada para separar os registros selecionados em grupos específicos. HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo. ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica. DISTINCT – Utilizada para selecionar dados sem repetição.
Funções de Agregação As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de registros. AVG – Utilizada para calcular a média dos valores de um campo determinado. COUNT – Utilizada para devolver o número de registros da seleção. SUM – Utilizada para devolver a soma de todos os valores de um campo determinado. MAX – Utilizada para devolver o valor mais alto de um campo especificado. MIN – Utilizada para devolver o valor mais baixo de um campo especificado.
Fonte: http://pt.wikipedia.org/wiki/SQL
Gabarito D
Uma cláusula HAVING é como uma cláusula WHERE, a diferença é que ela se aplica somente a grupos como um todo (ou seja, as linhas do conjunto de resultados que representam grupos), enquanto a cláusula WHERE se aplica a linhas individuais. Uma consulta pode conter uma cláusula WHERE e uma cláusula HAVING. Nesse caso:
"Retroceder Nunca Render-se Jamais !"
Força e Fé !
Fortuna Audaces Sequitur !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo