Cursos / Informática para Internet / Banco de dados / Aula
Agora que conhecemos as funções de agregação, vamos fazer uso delas em conjunto com a cláusula GROUP BY. Vamos resolver as questões que levantamos no início da nossa discussão.
A solução dessas questões é apresentada no quadro a seguir.
Na primeira consulta, agrupamos os dados de acordo com o sexo do cliente e contamos quantos registros estão associados a cada categoria, no caso, Masculino (M) e Feminino (F). Na segunda consulta, agrupamos os dados de acordo com o título do filme e contamos quantos registros existiam para cada título. O resultado é ilustrado na Figura 7.
Você percebeu algo diferente na segunda consulta ilustrada no exemplo anterior? Apareceu um termo diferente na expressão “COUNT(fil_titulo) AS Unidades”. Esse termo AS é uma cláusula utilizada no SELECT para renomear o nome de uma coluna de resultados e pode ser usado para deixar a consulta mais legível. No exemplo indicado, ao invés de aparecer no resultado uma coluna intitulada COUNT(fil_titulo), apareceu uma coluna intitulada Unidades, que torna mais fácil o entendimento do resultado da pesquisa. Podemos dizer que demos um apelido para a coluna apresentada.
Quando fazemos uma pesquisa num agrupamento de dados, é possível restringir os dados que serão agrupados de acordo com alguma condição. Para isso, utilizamos a cláusula HAVING em conjunto com GROUP BY. Por exemplo, considere a seguinte questão: dentre os filmes cadastrados na locadora, quais possuem mais de uma unidade? A solução é apresentada no quadro a seguir.
Você deve ter notado que nosso banco de dados da locadora possui apenas 4 filmes distintos (E o vento Levou, O silêncio dos inocentes, Procurando Nemo e Cidade de Deus). Para que o exemplo abaixo apresente duas unidades do filme “E o vento Levou” será necessário inserir uma nova cópia deste filme no banco de dados. É importante que o título do filme seja exatamente igual ao titulo “E o vento Levou” já inserido anteriormente. Se tiver dúvidas, consulte o seu tutor.
Nesse caso, são apresentados os resultados apenas dos filmes que após a classificação pelo título apresentam mais de uma unidade cadastrada, conforme ilustrado na Figura 8.
Versão 5.3 - Todos os Direitos reservados