SQL
Adicionar um Registro

INSERT INTO
−
−

INSERT INTO table_name
VALUES (value1, value2,....)
INSERT INTO table_name (column1,
column2,...) VALUES (value1, value2,....)
EX.:
−
INSERT INTO Pessoa VALUES (‘Silva', 'Camila', ’15/03/1984', ‘Paraíba');
−
INSERT INTO Pessoa (SobreNome, DtNasc ) VALUES (‘Moura', ’14/06/1985') ;
Atualizar um Registro

UPDATE
−
−
−

UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
EX.:
−
UPDATE Pessoa SET Nome = 'Nina' WHERE SobreNome = ‘Moura’;
Apagar um Registro

DELETE
−

DELETE FROM table_name
WHERE column_name = some_value
EX.:
−
DELETE FROM Person WHERE LastName = ‘Silva'
Consultas básicas
Forma básica:
select <lista de atributos>
from <lista de tabelas>
where <condição>;
Encontre a data de nascimento e o endereço dos
select dtnasc, endere
empregados
cujo nome seja John.
from
empregado

where nome = “John” ;
Obs: o comando select não elimina tuplas repetidas

select
nome, oendere
Encontre
nome e o endereço de todos os
from
empregado,que
departamento
empregados
trabalham no departamento
where
nomed = “Pesquisa” and numerodep = nud;
‘Pesquisa’.
Obs: na cláusula FROM estão as tabelas que serão
juntadas com um produto cartesiano.
Para cada projeto localizado em ‘Stanford’, relacione o
select
numerop,
numd,
sobrenome,
enderec, dtnasc
número
do projeto,
o número
do departamento
responsável
e oprojeto,
último nome
do gerente do
departamento, seu endereço
from
departamento,
empregado
e sua
data =
denumerodep
aniversário. and nssger = nss and
where
numd

localizacaop = ‘Stanford’;

select
E.nome,
S.nome,
Ss.sobrenome
Para
cadaE.sobrenome,
empregado,
recupere
o primeiro e o
from empregado as E, empregado as S
último nome do empregado e o primeiro e o último
where E.superssn = S.ssn;
nome de seu superior imediato.
Alternativa (na cláusula FROM):
Empregado as E(PN, MN, UM, SSN, DT, END, SEX, SAL, SSSN,
DNO)

Selecione o nome de todos os empregados
select nome
from empregado;

Recupere todos os diferentes valores de salários
SELECT DISTINCT salario
FROM
empregado;
(SELECT
DISTINCT pnumero

uma
lista de todos
os números de projetos nos quais
FROMFaça
projeto,
departamento,
empregado
esteja
algum
seja
WHERE
numdenvolvido
= numerodep
and empregado
nssger = nssncujo
and sobrenome
sobrenome=‘Smith’)
‘Smith’; ou como empregado, ou como gerente do
UNION
(SELECT
DISTINCT pnumero
departamento
que controla o projeto.
FROM trabalha_em, projeto, empregado
WHERE numerop = nump AND nsse = nss AND sobrenome = ‘Smith’);

Recupere todos os empregados cujos endereços
sejam em Campinas, São Paulo.
select *
from empregado
where endereço like ‘%Houston,TX%’;

Recupere todos os empregados que nasceram na
década de 50.
select *
from empregado
where datanasc like ‘_ _ _ _ _ _ _ _ 5 _’;

Suponha que se deseja ver qual será o
resultado de aumentar em 10% o salário
de todos os empregados que trabalham
com o projeto ‘ProdutoX’.
SELECT nome, 1.1*salário AS
aumento_sal
FROM empregado, trabalha_em, projeto
WHERE ssn = essn AND pno = pnumero
AND pnome = ‘ProdutoX’;

Recupere todos os empregados do
departamento 5 que ganham entre 30 mil
e 40 mil reais.
select *
from empregado
where (salario between 30000 and 40000)
and nud = 5;

Recupere a lista dos empregados e os respectivos
projetos nos quais eles trabalham, ordenada por
departamento e , dentro de cada departamento,
também por ordem alfabética do último nome, e
depois, pelo primeiro nome do empregado.
select dnome, unome, pnome, pjnome
from departamento, empregado, trabalha_em,
projeto
where dnumero = dno and ssn = essn and pno =
pnumero
order by dnome, sobrenome, nome;
Obs: order by dnome desc, unome asc, pnome asc
Download

select