Banco de Dados
Prof. Me. Marcos Alves
marcos@[Link]
Comandos:
SELECT
INSERT
UPDATE
DELETE
Banco de Dados Prof. Me. Marcos Alves 2
Recuperação de tuplas
SELECT <lista de atributos>
FROM <lista de tabelas>
[WHERE <condição>]
Exemplo:
▪ SELECT CodCidade,NomeCidade
FROM Cidade
Banco de Dados Prof. Me. Marcos Alves 3
Eliminação de registros duplicados
Para eliminar registros duplicados utilize a cláusula DISTINCT
Exemplo:
SELECT DISTINCT Sexo
FROM Empregado
Banco de Dados Prof. Me. Marcos Alves 4
Para listar todos os campos de uma tabela utilize o *
Exemplo:
SELECT *
FROM Cidade
Banco de Dados Prof. Me. Marcos Alves 5
Seleção de registros (WHERE)
A cláusula WHERE, no comando SELECT, permite selecionar
registros para a condição especificada.
Exemplo:
SELECT NomeCidade
FROM Cidade
WHERE CodCidade > 4
AND CodCidade < 8
Banco de Dados Prof. Me. Marcos Alves 6
Operadores
= Igual
<> ou != Diferente
> Maior
< Menor
>= Maior ou igual
<= Menor ou igual
LIKE Comparação de substring
IN Comparação em listas
BETWEEN Faixa de valores
Banco de Dados Prof. Me. Marcos Alves 7
Operadores IN e BETWEEN
IN define uma lista de valores como condição.
▪ SELECT *
FROM Cidade
WHERE NomeCidade IN ('Bonito','Dourados')
BETWEEN define uma faixa de valores como condição.
▪ SELECT *
FROM Cidade
WHERE CodCidade BETWEEN 3 AND 6
Banco de Dados Prof. Me. Marcos Alves 8
Comparação parcial de caracteres:
% Substitui vários caracteres.
_ Substitui um único caracter.
Exemplos:
SELECT * FROM Empregado
WHERE NomeInic LIKE 'A%'
SELECT * FROM Empregado
WHERE NomeInic LIKE '%co'
SELECT * FROM Empregado
WHERE NomeInic LIKE '_o___'
Banco de Dados Prof. Me. Marcos Alves 9
Classificação de resultados
A clausula ORDER BY classifica os registros pelos campos
informados em ordem ascendente (ASC) ou descendente (DESC)
Exemplo:
SELECT *
FROM Cidade
ORDER BY NomeCidade Desc
Banco de Dados Prof. Me. Marcos Alves 10
Funções de Agregação
COUNT(*) – Conta registros
SUM() – Soma
AVG() – Média
MAX() – Valor máximo
MIN() – Valor mínimo
Exemplo:
SELECT COUNT(*)
FROM Cidade
Banco de Dados Prof. Me. Marcos Alves 11
Aritmética na Consulta
Os operadores aritméticos (+,-,*, /) podem ser aplicados a valores
numéricos ou atributos com domínios numéricos.
Exemplo:
▪ SELECT Salario*1.1
FROM Empregado
Banco de Dados Prof. Me. Marcos Alves 12
Agrupamento de dados (GROUP BY)
SELECT <lista de campos>
FROM <lista de tabelas>
[WHERE <condição>]
[GROUP BY <expressão>]
[HAVING <condição>]
Exemplo:
▪ SELECT Sexo, COUNT(*)
FROM Empregado
GROUP BY Sexo
Banco de Dados Prof. Me. Marcos Alves 13
Condição para agrupamento de dados (HAVING)
A cláusula HAVING define a condição para os registros
totalizados pela cláusula GROUP BY.
Exemplo:
SELECT Sexo, COUNT(*)
FROM Empregado
GROUP BY Sexo
HAVING Sexo = 'F';
Banco de Dados Prof. Me. Marcos Alves 14
Renomeando campos
Os campos retornados podem ser renomeados.
Exemplo:
SELECT COUNT(*) as TotalEmpregados
FROM Empregado;
ou
SELECT COUNT(*) TotalEmpregados
FROM Empregado;
Banco de Dados Prof. Me. Marcos Alves 15
Prefixando nome de campos
Sempre que existirem campos com o mesmo nome em tabelas
diferentes é necessário qualificar estes campos informando o
nome da tabela.
Exemplo:
SELECT [Link],
[Link]
FROM Empregado;
Banco de Dados Prof. Me. Marcos Alves 16
Apelidos para tabelas (Alias)
Para criar um apelido para uma tabela, defina-o na cláusula FROM. O apelido
pode então ser utilizado como qualificador tanto na cláusula WHERE, quanto
na cláusula SELECT.
Exemplo:
SELECT [Link], [Link]
FROM Empregado Emp
Banco de Dados Prof. Me. Marcos Alves 17