Professional Documents
Culture Documents
Structured Query
Language (SQL)
2
SQL
Manipulao de Dados
INSERT
Adiciona uma linha na tabela existente
INSERT INTO tabela (atributo1, atributo2, ..., atributon)
VALUES
(valor1, valor2, ..., valorn)
SQL
Manipulao de Dados
DELETE
Remove linhas na tabela existente
DELETE FROM tabela WHERE <condio>;
<condio> = <atributo> <operador> <constante>
ou
<atributo> <operador> <atributo>
ou
<atributo> <operador> <comando select>
DELETE FROM Empregado;
DELETE FROM Empregado WHERE nome =Maria dos Santos;
Structured Query Language - Slide 3
SQL
Manipulao de Dados
UPDATE
Modifica valores de um ou mais atributos de uma ou mais
linhas selecionadas
UPDATE tabela SET <atribuies> WHERE <condio>;
<atribuies> = <atributo=constantes>
ou
<atributo=atributo>
ou
<atributo=operaes de atributos e constantes>
ou
<atributo=comando select>
SQL
Manipulao de Dados
UPDATE
UPDATE Empregado SET salario = 2000 WHERE depart = 1;
UPDATE Empregado SET salario = salario*1.1;
UPDATE TrabalhaEm SET horas=20 WHERE codproj=01 and
matemp=11111;
SQL
Manipulao de Dados
COMMIT
Utilizado para confirmar uma transao
ROLLBACK
Utilizado para desfazer uma transao
SQL
Manipulao de Dados
SELECT (CONSULTAS)
Instruo bsica para recuperar informaes no banco de
dados. Retorna um result set. Navegao decidida pelo
sistema.
SELECT <lista de atributos e funes>
FROM <lista de tabelas>
[WHERE <condies>]
[GROUP BY <atributos de agrupamento>]
[HAVING <condio de agrupamento>]
[ORDER BY <lista de atributos>];
SQL
Manipulao de Dados
SELECT/FROM
Lista os artributos de uma tabela
SELECT atributo1, atributo2, ..., atributon FROM tabela
SQL
Manipulao de Dados
SELECT/FROM
Selecione :
1) O nome e endereo de todos os empregados
2) O nome, sexo e parentesco de todos os dependentes
3) Todos os projetos com codigo e nome
SQL
Manipulao de Dados
SELECT/FROM/WHERE
Lista os atributos de uma tabela a depender de uma condio
SELECT atributo1, atributo2, ..., atributon FROM tabela WHERE
<condio> restrio
Condies do comando WHERE
SQL
Manipulao de Dados
Operadores de comparao:
=
>
<
>=
<=
!=
<>
!>
!<
igual a
maior que
menor que
maior que ou igual a
menor que ou igual a
diferente
diferente
no maior que
no menor que
Ao comparar datas, usa-se < para significar antes e > para depois.
Usa-se aspas duplas ou simples em torno dos dados do tipo char,
varchar
e datetime
Letras minsculas so maiores que letras maisculas, letras maisculas
so maiores que nmeros
Structured Query Language - Slide 11
SQL
Manipulao de Dados
Operaes de comparao :
1) Selecione nome e salrio dos empregados com salrio
maior que 3.000,00
2) Selecione nome todos os empregados do departamento 03
com salrio igual a 2.500,00
3) Selecione codigo do projeto, matricula e horas dos
empregados que trabalharam mais de 30 horas em um
projeto
4) Selecione o nome e parentesco dos dependentes de sexo
femenino
SQL
Manipulao de Dados
Faixas BETWEEN e NOT BETWEEN :
SQL
Manipulao de Dados
Faixas BETWEEN e NOT BETWEEN :
Selecione a matricula e nome dos empregados com codigo de
departamento entre 1 e 4
Select matricula, nome from empregado
where coddepart between 1 and 4;
Selecione a matricula e nome dos empregados que ganham salrio
fora da faixa de 1.000,00 e 3.000,00 reais
Select matricula, nome, salario from empregado
where salario not between 1000 and 3000;
SQL
Manipulao de Dados
Correspondncia de caracteres (LIKE e Not LIKE)
Selecionar linhas que contenham campos que
correspondem a pores especificadas de uma srie de
caracteres (string de caracteres).
Utilizada apenas com dados do tipo char, varchar e
datetime.
% - qualquer string com nenhum ou mais
caracteres
_ um nico caracter
[ ] um nico caracter na faixa especificada
[^] um nico caracter fora da faixa especificada
Obs.: Inclua os curingas e a string de caracteres entre
aspas simples ou duplas.
Structured Query Language - Slide 15
SQL
Manipulao de Dados
Correspondncia de caracteres (LIKE e Not LIKE)
Selecione o nome e bairro de empregados que comeam com
as letras MAR
Select nome, bairro from empregado
where nome like MAR%
Nome
Maria
Marta
Marieta
Marina
Bairro
Itaigara
Pituba
Pituba
Itapuan
Bairro
Itaigara
Pituba
SQL
Manipulao de Dados
Correspondncia de caracteres (LIKE e Not LIKE)
Selecione o nome e bairro de empregados, cujos nomes
comeam com qualquer letra entre M e P, inclusive
Select nome, bairro from empregado
where nome like [M-P]%
Nome
Maria
Marta
Marieta
Marina
Norma
Paulo
Bairro
Itaigara
Pituba
Barra
Pituba
Graa
Garcia
SQL
Manipulao de Dados
Listas (IN e NOT IN)
O operador de comparao IN permite ao usurio selecionar
valores que correspondam a qualquer um de uma lista de
valores.
Selecione a matricula, nome e bairro dos empregados com
matricula na lista (1, 2, 3)
Matricula Nome
Bairro
1
2
3
Ana
Andrea
Antonio
Itaigara
Pituba
Graca
Alfredo
Carlos
Barra
Itaigara
SQL
Manipulao de Dados
Operadores Lgicos AND e OR
AND
- Agrupa duas ou mais condies
- Retorna resultados apenas quando todas as condies so
verdadeiras.
OR
- Agrupa duas ou mais condices
- Retorna resultados quando qualquer das condies so
verdadeiras.
SQL
Manipulao de Dados
Operadores Lgicos AND e OR
Selecione o codigo e nome de departamentos, cujo codigo seja
1 e o nome Informtica
Select codigo, nome from departamento
where codigo = 1 and nome = Informtica;
Codigo
1
Nome
Informatica
Informatica
Administracao
SQL
Manipulao de Dados
Renomeando colunas
Pode-se estabelecer um outro nome para ser utilizado na sada
da declarao select, ao invs do nome da coluna.
Select <cabecalho_da_coluna as nome_da_coluna>
Select empregado.nome as Nome do Empregado from
empregado
Nome do Empregado
Ana
Andrea
Antonio
Ana
Andrea
Antonio
Bairro
Bairro
Bairro
Bairro
Itaigara
Pituba
Graca
SQL
Manipulao de Dados
Expresses aritmticas (operadores aritmticos)
+
*
/
adio
subtrao
multiplicao
diviso
SQL
Manipulao de Dados
Expresses aritmticas (operadores aritmticos)
Subtrao
Select cod, horas-10 from trabalhaem
Diviso
Select matricula, nome, salario/30 from empregado
SQL
Manipulao de Dados
1) Que departamentos esto localizados no Prdio 1 ?
2) Exiba todas as informaes da tabela Projeto.
3) Liste todos os departamentos, matricula de seu gerente e data
em que foi iniciada a gerencia.
4) Liste os empregados que ganham entre R$1500 e R$3000.
5) Liste todos os projetos com situao Concludo e que so
controlados pelo departamento 5.
6) Encontre todos os empregados Analistas e que trabalham no
departamento 1.
7) Projetos que tm a palavra Engenharia em seu nome.
8) Liste o nome de todos os empregados do departamento 2 com
10% de aumento no salario.
9) Selecione os salrios distintos dos empregados.
10) Selecione nome todos os empregados admitidos antes de
01/10/2000.
Structured Query Language - Slide 24