SQL Comandos de Manutenção – Parte 05


MySql

Ultima parte sobre os comandos SQL, nesse artigo vou citar alguns comando de manutenção.
Aproveitem!

Para saber quantas linhas existem na tabela ‘funcionario’ , pode-se usar a função agregada COUNT(*):
select count(*) from funcionario

Você pode também acrescentar uma condição:
select count(*) from funcionario where ramal is not null

Quando se utiliza o GROUP BY com o nome de uma coluna, os resultados são agregados por essa coluna. Por exemplo, para saber quantos funcionarios existem por departamento:

select count(*) ‘Quantidade Funcionário’, CodDepartamento
from funcionario
group by CodDepartamento

Funções agregadas
Além da função COUNT, existem outras funções agregadas que podem ser usadas para fazer operações sobre os elementos do grupo:

As funções AVG e SUM podem ser usadas apenas com dados numéricos. As outras podem ser usadas com qualquer tipo de coluna. As funções SUM, AVG e COUNT(expr) permitem especificar também o operador DISTINCT, que indica para considerar apenas os valores distintos. Por exemplo, a tabela ‘funcionarios’ do banco de dados Exemplo contém informação sobre qual departamento este funcionário trabalha. Para saber quais os departamentos que têm ao menos um funcionario , execute o seguinte comando:

select count(distinct coddepartamento)
from funcionario

Group by

A cláusula GROUP BY agrupa valores baseado em uma ou mais colunas. No último SELECT , group by coddepartamento significa que todas as linhas que têm o mesmo valor da coluna ‘coddepartamento’ serão agrupadas em uma só. Uma função agregada, como SUM, COUNT, AVG calcula valores sobre todos os elementos do grupo. Uma linha de resumo é gerada para o grupo, contendo o valor representante do grupo, ‘coddepartamento’ e o resultado de SUM(Salario).
Note que as colunas de resultado da cláusula SELECT (a lista de colunas após o SELECT) podem ser apenas:
– Uma coluna presente na lista do GROUP BY OU - Um valor gerado por uma função agregada
Outras colunas não podem ser incluídas no resultado, porque teriam valores diferentes para cada linha do grupo.

Having

Após feito o agrupamento, pode-se usar a cláusula HAVING para selecionar quais os grupos a serem incluídos no resultado. Por exemplo, para selecionar os departamentos que pagam mais que 1000.00, pode-se fazer:

select coddepartamento Departamento, sum(Salario) ‘Salário Total’ from funcionario
group by coddepartamento
having sum(Salario) > 1000.00

Note que as cláusulas WHERE e HAVING são semelhantes. Mas WHERE seleciona as linhas da tabela que irão participar da geração do resultado. Essas linhas serão agrupadas e depois HAVING é aplicado ao resultado de cada grupo, para saber quais grupos vão aparecer no resultado. Nas condições usadas por HAVING só podem aparecer valores que sejam os mesmos em todos os elementos do grupo.

Junções de tabelas

Um comando SELECT também pode fazer uma consulta que traz dados de duas ou mais tabelas. Esse é um processo chamado de junção [join]. As tabelas têm uma coluna em comum que é usado para fazer as junções.

select departamento.nome ‘Departamento’, funcionario.nome from funcionario, departamento
where funcionario.coddepartamento = departamento.coddepartamento





Artigos Relacionados


Designer de Interface pós graduado em Arquitetura da Informação. UI/UX Designer e Front-end Developer, atualmente atendo empresas como freelancer e sou colaborador em uma agência de comunicação onde desenvolvo interfaces criativas com foco na experiência do usuário. Organizador por natureza acredito que o caos é a matéria-prima necessária.

Deixe o seu comentário

Seu endereço de email não será publicado.

Você pode usar HTML tags e atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>