You are on page 1of 24

Banco de Dados

Structured Query
Language (SQL)
2

Livros Texto : Introduo a Sistemas de Banco de Dados - Date


Sistemas de Banco de Dados Korth & Silberschatz
Sistemas de Banco de Dados Fundamentos e
Aplicaes Elmasri & Navathe
Structured Query Language - Slide 1

SQL
Manipulao de Dados
INSERT
Adiciona uma linha na tabela existente
INSERT INTO tabela (atributo1, atributo2, ..., atributon)
VALUES
(valor1, valor2, ..., valorn)

INSERT INTO Empregado (matricula, nomeemp, depart,


salario)
VALUES (2, Jose Lopes, 1, 2500);
INSERT INTO Empregado
VALUES (1, Maria dos Santos, Rua Carlos Gomes, n.20,
1, 3000);
Structured Query Language - Slide 2

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>

Structured Query Language - Slide 4

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;

Structured Query Language - Slide 5

SQL
Manipulao de Dados

COMMIT
Utilizado para confirmar uma transao
ROLLBACK
Utilizado para desfazer uma transao

Structured Query Language - Slide 6

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>];

Structured Query Language - Slide 7

SQL
Manipulao de Dados
SELECT/FROM
Lista os artributos de uma tabela
SELECT atributo1, atributo2, ..., atributon FROM tabela

SELECT nome, endereco FROM empregado;


Projeo

SELECT * FROM empregado;


SELECT DISTINCT salario FROM empregado;
Structured Query Language - Slide 8

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

Structured Query Language - Slide 9

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

Operaes de comparao (=, >, <)

Faixas (BETWEEN e NOT BETWEEN)


Correspondncia de caracteres (LIKE e Not LIKE)
Valores desconhecidos (IS NULL e IS NOT NULL)
Listas (IN e NOT IN)
Combinaes com AND e OR
NOT pode negar qualquer expresso booleana e chaves como
LIKE, NULL, BETWEEN e IN
Structured Query Language - Slide 10

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

Structured Query Language - Slide 12

SQL
Manipulao de Dados
Faixas BETWEEN e NOT BETWEEN :

BETWEEN - Opo usada para especificar uma faixa


inclusiva; os valores extremos da faixa tambm so includos
na busca.

NOT BETWEEN Negao do BETWEEN. Exclui os valores


especificados na faixa, inclusive os extremos.

Structured Query Language - Slide 13

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;

Structured Query Language - Slide 14

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

Selecione o nome dos empregados dos departamento que


comeam com as letras MAR e de 5 caracteres
Select nome, bairro from empregado whereNome
nome like MAR_ _
Maria
Marta

Structured Query Language - Slide 16

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

Structured Query Language - Slide 17

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

Select matricula, nome, bairro


from empregado where matricula in (1, 2, 3)

Ana
Andrea
Antonio

Itaigara
Pituba
Graca

Selecione a matricula, nome e bairro dos empregados que a


matricula no esteja na lista (1, 2, 3)
Matricula Nome
Bairro
4
5

Alfredo
Carlos

Select matricula, nome, bairro


from empregado where matricula not in (1,2, 3)
Structured Query Language - Slide 18

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.

Structured Query Language - Slide 19

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

Selecione o codigo e nome de departamentos, cujo codigo seja


1 ou o nome Administrao
Select codigo, nome from departamento where codigo = 1
or nome = Administrao
Codigo
Nome
1
2
Structured Query Language - Slide 20

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

String de caracteres em resultados


Select Nome do Empregado, nome, Bairro, bairro
from empregado
Nome
Nome do Empregado
Nome do Empregado
Nome do Empregado

Ana
Andrea
Antonio

Structured Query Language - Slide 21

Bairro
Bairro
Bairro

Bairro
Itaigara
Pituba
Graca

SQL
Manipulao de Dados
Expresses aritmticas (operadores aritmticos)
+
*
/

adio
subtrao
multiplicao
diviso

Podem ser utilizados em qualquer coluna numrica;


Usados em qualquer comando que permita expresso;
Adio
Select cod, horas+10 from trabalhaem
Select nome, salario+comissao from empregado
Multiplicao
Select matricula, nome, salario*1,2 from empregado
Structured Query Language - Slide 22

SQL
Manipulao de Dados
Expresses aritmticas (operadores aritmticos)

Subtrao
Select cod, horas-10 from trabalhaem
Diviso
Select matricula, nome, salario/30 from empregado

Structured Query Language - Slide 23

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

You might also like