Curso Técnico em Informática – 3º Semestre 
Disciplina: Banco de Dados 
Professor: Arley Rodrigues 
Semestre: 2014.1 Turno: Tarde Data: 03/09/2014 
BANCO DE DADOS MySQL 
COMANDOS DML – 1ª Parte 
O Comando SELECT é o responsável por mostrar as informações gravadas no Banco de Dados. Inicialmente 
seu uso é bastante simples e intuitivo, mas quando as requisições exigem o tratamento de informações 
entre várias tabelas, os comandos passam a ter uma grande complexidade. 
1. Selecionando atributos (Projeção): 
SELECT <lista de atributos> FROM <tabela> 
Exemplo: 
Listar nome e salário de todos os empregados 
SELECT Nome, Salário FROM Empregado 
2. Selecionando todos os atributos 
SELECT * FROM <tabela> 
Exemplo: 
Listar o conteúdo de Empregado 
SELECT * FROM Empregado 
3. Selecionando tuplas da tabela 
SELECT <lista de atributos> FROM <tabela> WHERE <condição> 
Onde condição: <nome atributo> <operador> <valor> 
Operadores Relacionais: =, <>, <, <=, >, >= 
Operadores Lógicos: AND, OR e NOT 
Exemplos: 
Listar nome e sexo dos empregados do departamento 15. 
SELECT Nome, Sexo FROM Empregado WHERE Num-Dep = 15 
Listar nome e sexo dos empregados do departamento 15 com salário > R$ 1.000,00 
SELECT Nome, Sexo FROM Empregado WHERE Num-Dep = 15 AND Salário > 1000 
4. Operadores BETWEEN e NOT BETWEEN: 
Substituem o uso dos operadores <= e >= 
Como usar: ... WHERE <nome atributo> BETWEEN <valor1> and <valor2> 
Exemplo: 
Listar os empregados com salário entre R$ 1.000,00 e R$ 2.000,00 
SELECT * FROM Empregado WHERE Salário BETWEEN 1000 and 2000 
1 Banco de Dados – Comandos DML do MySQL – PARTE 1
5. Operadores LIKE e NOT LIKE: 
Só se aplicam sobre atributos do tipo char. Operam como = e <>, utilizando os símbolos: 
% (substitui uma palavra) e _ (substitui um caracter). 
Como usar: 
...WHERE <nome atributo> LIKE <valor1> 
Exemplo: 
Listar os empregados que tem como primeiro nome ‘José’ 
SELECT Nome FROM Empregado WHERE Nome LIKE ‘José%’ 
6. Operadores IN e NOT IN: 
Procuram dados que estão ou não contidos em um dado conjunto de valores. 
Como usar: 
... WHERE <nome atributo> IN <valores> 
Exemplo: 
Listar o nome e data de nascimento dos dependentes com grau de parentesco ‘M’ ou ‘P’ 
SELECT Nome, Data-Nasc FROM Dependentes WHERE Grau-P IN (‘M’, ‘P’) 
7. Operadores IS NULL e IS NOT NULL: 
Identificam valores nulos dos atributos. 
Como usar: 
... WHERE <nome atributo> IS NULL 
Exemplo: 
Listar os projetos que não tenham local definido 
SELECT * FROM Projeto WHERE Local IS NULL 
8. Ordenando os dados selecionados (ORDER BY) 
SELECT <lista atributos> FROM <tabela> [WHERE <condição>] ORDER BY <Nome atributo> {ASC | DESC} 
Exemplos: 
Listar todos os empregados ordenados ascendentemente por nome. 
SELECT * FROM Empregado ORDER BY Nome 
Listar todos os empregados ordenados descendentemente por salário 
SELECT * FROM Empregado ORDER BY Salário DESC 
9. Realizando Cálculos no MySQL 
Pode-se criar um campo que não pertença à tabela, a partir de cálculos sobre atributos da tabela. Estes 
cálculos são processados pelo próprio SGBD. 
Exemplo: 
2 Banco de Dados – Comandos DML do MySQL – PARTE 1
Mostrar o novo salário dos empregados, calculado com base no reajuste de 60% para os que ganham 
abaixo de R$ 1.000,00. 
SELECT Nome, Salário * 1.60 AS ‘Novo Salário’ FROM Empregado WHERE Salário < 1000 
10. Funções pré-definidas do MySQL 
Temos diversas funções que podem ser utilizadas dentro do próprio SGBD. Abaixo 5 das principais funções. 
Comandos: MAX, MIN, SUM, AVG, COUNT 
Exemplos: 
Mostrar o valor do maior salário dos empregados 
SELECT MAX (Salário) FROM Empregado 
Mostrar qual o salário médio dos empregados 
SELECT AVG (Salário) FROM Empregado 
Quantos empregados ganham mais de R$1.000,00? 
SELECT COUNT (*) FROM Empregado WHERE Salário > 1000 
11. Cláusula DISTINCT 
Elimina tuplas duplicadas do resultado de uma consulta. 
Exemplo: 
Quais os diferentes salários dos empregados? 
SELECT DISTINCT Salário FROM Empregado 
EXERCÍCIOS 
De acordo com o Esquema Textual abaixo resolva: 
Funcionarios (Codigo, PrimeiroNome, SegundoNome, UltimoNome, DataNasci, CPF, RG, Endereco, CEP, 
Cidade, Fone, CodigoDepartamento, Funcao, Salario) 
Departamentos (Codigo, Nome, Localizacao, CodigoFuncionarioGerente) 
1. Listar nome e sobrenome ordenado por sobrenome. 
2. Listar todos os campos de funcionários ordenados por cidade 
3. Liste os funcionários que têm salário superior a R$ 1.000,00 ordenados pelo nome completo. 
4. Liste a data de nascimento e o primeiro nome dos funcionários ordenados do mais novo para o mais 
velho. 
5. Liste o total da folha de pagamento. 
6. Liste a quantidade de funcionários desta empresa. 
7. Liste o salário médio pago pela empresa. 
8. Liste o nome completo de todos os funcionários que não tenham segundo nome. 
9. Liste os nomes dos funcionários que moram em Recife e que exerçam a função de Telefonista . 
10. Liste as cidades onde nasceram os funcionários, sem repetição. 
11. Liste o nome do departamento onde o código do gerente é igual a 2. 
12. Liste o nome do funcionário que tem o maior salário na empresa (select dentro do outro) 
3 Banco de Dados – Comandos DML do MySQL – PARTE 1

Sql - Comandos dml do mysql - parte 1

  • 1.
    Curso Técnico emInformática – 3º Semestre Disciplina: Banco de Dados Professor: Arley Rodrigues Semestre: 2014.1 Turno: Tarde Data: 03/09/2014 BANCO DE DADOS MySQL COMANDOS DML – 1ª Parte O Comando SELECT é o responsável por mostrar as informações gravadas no Banco de Dados. Inicialmente seu uso é bastante simples e intuitivo, mas quando as requisições exigem o tratamento de informações entre várias tabelas, os comandos passam a ter uma grande complexidade. 1. Selecionando atributos (Projeção): SELECT <lista de atributos> FROM <tabela> Exemplo: Listar nome e salário de todos os empregados SELECT Nome, Salário FROM Empregado 2. Selecionando todos os atributos SELECT * FROM <tabela> Exemplo: Listar o conteúdo de Empregado SELECT * FROM Empregado 3. Selecionando tuplas da tabela SELECT <lista de atributos> FROM <tabela> WHERE <condição> Onde condição: <nome atributo> <operador> <valor> Operadores Relacionais: =, <>, <, <=, >, >= Operadores Lógicos: AND, OR e NOT Exemplos: Listar nome e sexo dos empregados do departamento 15. SELECT Nome, Sexo FROM Empregado WHERE Num-Dep = 15 Listar nome e sexo dos empregados do departamento 15 com salário > R$ 1.000,00 SELECT Nome, Sexo FROM Empregado WHERE Num-Dep = 15 AND Salário > 1000 4. Operadores BETWEEN e NOT BETWEEN: Substituem o uso dos operadores <= e >= Como usar: ... WHERE <nome atributo> BETWEEN <valor1> and <valor2> Exemplo: Listar os empregados com salário entre R$ 1.000,00 e R$ 2.000,00 SELECT * FROM Empregado WHERE Salário BETWEEN 1000 and 2000 1 Banco de Dados – Comandos DML do MySQL – PARTE 1
  • 2.
    5. Operadores LIKEe NOT LIKE: Só se aplicam sobre atributos do tipo char. Operam como = e <>, utilizando os símbolos: % (substitui uma palavra) e _ (substitui um caracter). Como usar: ...WHERE <nome atributo> LIKE <valor1> Exemplo: Listar os empregados que tem como primeiro nome ‘José’ SELECT Nome FROM Empregado WHERE Nome LIKE ‘José%’ 6. Operadores IN e NOT IN: Procuram dados que estão ou não contidos em um dado conjunto de valores. Como usar: ... WHERE <nome atributo> IN <valores> Exemplo: Listar o nome e data de nascimento dos dependentes com grau de parentesco ‘M’ ou ‘P’ SELECT Nome, Data-Nasc FROM Dependentes WHERE Grau-P IN (‘M’, ‘P’) 7. Operadores IS NULL e IS NOT NULL: Identificam valores nulos dos atributos. Como usar: ... WHERE <nome atributo> IS NULL Exemplo: Listar os projetos que não tenham local definido SELECT * FROM Projeto WHERE Local IS NULL 8. Ordenando os dados selecionados (ORDER BY) SELECT <lista atributos> FROM <tabela> [WHERE <condição>] ORDER BY <Nome atributo> {ASC | DESC} Exemplos: Listar todos os empregados ordenados ascendentemente por nome. SELECT * FROM Empregado ORDER BY Nome Listar todos os empregados ordenados descendentemente por salário SELECT * FROM Empregado ORDER BY Salário DESC 9. Realizando Cálculos no MySQL Pode-se criar um campo que não pertença à tabela, a partir de cálculos sobre atributos da tabela. Estes cálculos são processados pelo próprio SGBD. Exemplo: 2 Banco de Dados – Comandos DML do MySQL – PARTE 1
  • 3.
    Mostrar o novosalário dos empregados, calculado com base no reajuste de 60% para os que ganham abaixo de R$ 1.000,00. SELECT Nome, Salário * 1.60 AS ‘Novo Salário’ FROM Empregado WHERE Salário < 1000 10. Funções pré-definidas do MySQL Temos diversas funções que podem ser utilizadas dentro do próprio SGBD. Abaixo 5 das principais funções. Comandos: MAX, MIN, SUM, AVG, COUNT Exemplos: Mostrar o valor do maior salário dos empregados SELECT MAX (Salário) FROM Empregado Mostrar qual o salário médio dos empregados SELECT AVG (Salário) FROM Empregado Quantos empregados ganham mais de R$1.000,00? SELECT COUNT (*) FROM Empregado WHERE Salário > 1000 11. Cláusula DISTINCT Elimina tuplas duplicadas do resultado de uma consulta. Exemplo: Quais os diferentes salários dos empregados? SELECT DISTINCT Salário FROM Empregado EXERCÍCIOS De acordo com o Esquema Textual abaixo resolva: Funcionarios (Codigo, PrimeiroNome, SegundoNome, UltimoNome, DataNasci, CPF, RG, Endereco, CEP, Cidade, Fone, CodigoDepartamento, Funcao, Salario) Departamentos (Codigo, Nome, Localizacao, CodigoFuncionarioGerente) 1. Listar nome e sobrenome ordenado por sobrenome. 2. Listar todos os campos de funcionários ordenados por cidade 3. Liste os funcionários que têm salário superior a R$ 1.000,00 ordenados pelo nome completo. 4. Liste a data de nascimento e o primeiro nome dos funcionários ordenados do mais novo para o mais velho. 5. Liste o total da folha de pagamento. 6. Liste a quantidade de funcionários desta empresa. 7. Liste o salário médio pago pela empresa. 8. Liste o nome completo de todos os funcionários que não tenham segundo nome. 9. Liste os nomes dos funcionários que moram em Recife e que exerçam a função de Telefonista . 10. Liste as cidades onde nasceram os funcionários, sem repetição. 11. Liste o nome do departamento onde o código do gerente é igual a 2. 12. Liste o nome do funcionário que tem o maior salário na empresa (select dentro do outro) 3 Banco de Dados – Comandos DML do MySQL – PARTE 1