SQL (Structured Query Language ou Linguagem Estruturada de Consulta) é uma
linguagem-padrão para acesso a dados, aceita pela maioria dos sistemas de bancos
de dados como SQL Server, Oracle, etc. Se você programa em ASP, Visual Basic ou
VBA, provavelmente já fez um acesso a um banco de dados através desta linguagem.
A palavra “consulta” pode causar certa confusão, dando a falsa idéia de que a
linguagem SQL serve somente para pesquisar dados em uma ou mais tabelas do
banco. Não é bem por aí! Com SQL, podemos inserir, atualizar ou excluir dados e
até mesmo criar tabelas e definir os seus campos através de programação.
É claro que sistemas de bancos de dados mais simples, como o Microsoft Access,
não dão suporte a todas as funcionalidades da linguagem SQL, mas as instruções
mais comuns podem ser utilizadas da mesma forma com praticamente todos os bancos
de dados. É o caso dos exemplos com a instrução SELECT, utilizada para
selecionar dados de um banco, que vamos mostrar aqui.
Imagino que você já tenha alguma familiaridade com a linguagem SQL e a instrução
SELECT. Pretendo mostrar aqui algumas possibilidades adicionais para a SQL, indo
um pouco além dos exemplos triviais com os quais aprendemos a utilizar esta
linguagem.
A tabela abaixo mostra o nome, a idade, o salário e o departamento de cinco
funcionários de uma empresa. Suponha que a tabela foi gravada no seu banco de
dados com o nome “Funcionarios”.
Nome
Idade
Salario
Departamento
Samuel
25
2.000,00
Finanças
Fábio
23
1.700,00
Marketing
Márcio
28
1.100,00
Finanças
Marcos
31
1.500,00
Marketing
Ronei
27
1.000,00
Marketing
SELECIONANDO ALGUNS DADOS DA TABELA
A instrução SELECT é utilizada para selecionar dados de um ou mais campos de uma
tabela:
SELECT Nome, Idade FROM Funcionários
Nome
Idade
Samuel
25
Fábio
23
Márcio
28
Marcos
31
Ronei
27
QUAL A SOMA DOS SALÁRIOS?
A linguagem SQL define diversas funções utilizadas para que se efetuem cálculos,
como somas ou médias. Para somar valores de um determinado campo, utilizamos a
função SUM:
SELECT SUM (Salario) AS Soma FROM Funcionarios
Soma
7.300,00
QUAL A IDADE DO FUNCIONÁRIO MAIS VELHO?
Para encontrar o maior valor de um campo, utilizamos a função MAX:
SELECT MAX (Idade) AS MaiorIdade FROM Funcionários
MaiorIdade
31
Analogamente, existe a função MIN, que é utilizada para se encontrar o menor
valor de um campo.
QUAIS DEPARTAMENTOS EXISTEM NA EMPRESA?
Se simplesmente mandamos selecionar o campo “Departamento” da tabela
“Funcionários”, obtemos o resultado abaixo:
SELECT Departamento FROM Funcionarios
Departamento
Finanças
Marketing
Finanças
Marketing
Marketing
Note que as repetições neste caso não são eliminadas. Porém, se desejamos
apenas obter uma relação de todos os departamentos existentes na empresa,
utilizamos a palavra-chave DISTINCT:
SELECT DISTINCT Departamento FROM Funcionários
Departamento
Finanças
Marketing
QUAL O SALÁRIO MÉDIO EM CADA DEPARTAMENTO?
Já sabemos como calcular a média de todos os salários. E se quiséssemos calcular
a média de salário de cada departamento? Precisaríamos agrupar os dados por
departamento: para isso utilizamos a cláusula GROUP BY:
SELECT Departamento, Avg (Salario) AS SalarioMedio FROM
Funcionarios GROUP BY Departamento
Departamento
SalarioMedio
Finanças
1.550,00
Marketing
1.400,00
Como você pode ver, os recursos da linguagem SQL vão muito além do que podemos
imaginar em um primeiro momento. Muitas vezes, escrevemos linhas e mais linhas
de código para atingir um resultado que poderia ser conseguido com um ou dois
termos da SQL que ainda não aprendemos. Podemos poupar muito trabalho se
conhecermos mais profundamente o que a linguagem SQL tem a nos oferecer.