Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Agenda
Inserir linhas em tabelas
INSERT
UPDATE
DELETE
RENAME
CREATE TABLE ... AS SELECT
Recuperar Dados de uma Tabela
SELECT
Distinct
Expresses Aritmticas
Clusula Where
Alias
Exerccios
Bibliografia
INSERT
Inserindo registros nas tabelas
Valores alfanumricos e
datas devero estar
entre aspas simples (' ')
Sintaxe:
Ex 2:
'Argentina',null);
Ex 3:
Ex 4:
VALUES (4,
'Chile', 'Chilena');
VALUES ('EUA',
'Americana' ,3);
INSERT
Inserindo registros nas tabelas
Para incluir dados em uma tabela pode-se ou no incluir valores em
todas as suas colunas (caso no sejam obrigatrias).
CREATE TABLE pais
Ex 1:
constraint pais_Cd_pais_pk
primary key (Cd_pais),
constraint pais_Nm_pais_uk
unique(Nm_pais))
Ex 2:
INSERT INTO pais
UPDATE
Modificar a(s) linha(s) existentes com o comando UPDATE.
UPDATE Tabela
SET COLUNA = Valor
WHERE Condio
Update Pais
set Nm_pais='Portugal',
Ds_nacionalidade='Portug'
Where Cd_pais = 3;
1 linha atualizada.
Update Pais
set Ds_nacionalidade='Portuguesa'
Where Cd_pais = 3;
1 linha atualizada.
DELETE
Remover a(s) linha(s) existente(s) com o comando DELETE.
DELETE FROM Tabela
WHERE Condio
Observaes:
. Verifique os nomes das colunas com o comando DESCRIBE.
. Confirme a operao de atualizao pela visualizao das
linhas a serem atualizadas com o comando SELECT.
. Nunca omita a clusula WHERE. No caso da omisso,
todos os registros da tabela sero eliminados.
DELETE FROM Pais WHERE Cd_pais = 3;
1 linha deletada.
RENAME
Este comando utilizado nos casos de alterao de nome das tabelas.
SELECT
O comando SELECT permite a seleo e a manipulao,para
visualizao das informaes armazenadas no banco de
dados.
SELECT <<colunas que quero pesquisar>>
FROM
<<tabelas que quero pesquisar>>
Sintaxe:
SELECT [distinct] col1, col2, coln
FROM nome da tabela [alias]
WHERE condio
GROUP BY colunas
HAVING condio
ORDER BY expresso ou chave [desc]
SELECT
O comando SELECT permite selecionar:
EXEMPLOS:
B) Colunas especficas
C) Expresses Aritmticas
(alias)
E) Colunas concatenadas
SELECT
EXEMPLOS:
SELECT FIRST_NAME , EMAIL,
HIRE_DATE FROM employees;
SELECT
Quando mostramos o resultado de uma pesquisa, normalmente retornado o
nome das colunas selecionadas como cabealho.
Em alguns exemplos ele pode ser sem sentido.
SELECT
Linhas Duplicadas
SELECT
Expresses Aritmticas podem conter nome de colunas, valores numricos
constantes e operadores aritmticos:
Operadores
Descries
Adio
Subtrao
Multiplicao
Diviso
SELECT
A Clusula WHERE indica condio para um SELECT, no qual pode ter os
seguintes operadores:
Operador
Descrio
Igual
<>
Diferente
>
Maior
<
Menor
>=
Maior ou igual
<=
Menor ou igual
SELECT
Operadores SQL
Existem quatro operadores SQL os quais opera, com todos tipos de dados:
Operador
Significado
In (lista)
Like
Is Null
um valor nulo
SELECT
O Operador BETWEEN
Compara uma faixa de valores inclusive o menor e maior valor.
Suponhamos que ns quisemos ver aqueles empregados os quais o salrio
est entre 1000 e 2000:
SELECT First_name, Last_name, Salary
FROM Employees
WHERE Salary BETWEEN 10000 AND 20000;
Note que os valores especificados
esto inclusive, e o menor precisa
SELECT
O Operador IN
Compara os valores especificados dentro de uma lista.
Para encontrar empregados que tenham um dos trs nmeros de
Manager, utilize o seguinte comando:
SELECT First_name, Last_name, Salary, Manager_id
FROM Employees
WHERE Manager_id IN (101, 145, 149);
precisam
simples( ).
ser
colocados
entre
aspas
SELECT
O Operador LIKE
Algumas vezes voc precisa procurar valores que voc no conhece
exatamente. Usando o operador LIKE possvel selecionar linhas
combinando parmetros alfanumricos. O Caracter % utilizado como
Descrio
Like %cadeia
Like cadeia%
Like %cadeia%
SELECT
O Operador LIKE
Para listar todos os empregados que tenham o nome que comecem com a
letra S, faa:
SELECT First_name, Last_name, Salary
FROM Employees
WHERE First_name like 'S%';
SELECT
O Operador IS NULL
Verifica quais campos que esto com valores nulos
Unicamente encontrar todos os empregados que no tenham gerente,
voc testar um valor nulo:
SELECT First_name, Last_name, Salary, Manager_id
FROM Employees
WHERE Manager_id IS Null;
SELECT
Expresses Negativas
Podemos tambm negar todos os operadores estudados:
Sintaxe
Descrio
NOT Between
NOT In
NOT Like
IS NOT Null
SELECT
Expresses Negativas
Execute os seguintes comandos e veja o Resultado:
SELECT First_name, Last_name, Salary
FROM Employees
WHERE Salary NOT BETWEEN 10000 AND 20000;
SELECT First_name, Last_name, Salary, Manager_id
FROM Employees
WHERE Manager_id NOT IN (101, 145, 149);
SELECT
PESQUISANDO DADOS COM MLTIPLAS CONDIES
Os operadores AND e OR devem ser usados para fazer
composies de expresses lgicas.
O predicado AND esperar que ambas as condies sejam
verdadeiras;
O predicado OR esperar uma das condies seja verdadeira.
Nos dois exemplos seguintes as condies so as mesmas, mas o
predicado diferente.
SELECT
Para encontrar todos os escriturrios do departamento estoque que
ganhem entre 2000 e 3000.
SELECT First_name, Last_name, Salary, Job_ID
FROM Employees
WHERE Salary BETWEEN 2000 AND 3000
AND Job_id = 'ST_CLERK';
SELECT
Para encontrar todos os escriturrios
do departamento estoque e os funcionrios
que ganhem entre 2000 e 3000.
SELECT First_name, Last_name, Salary
FROM Employees
WHERE Salary BETWEEN 2000 AND 3000
OR Job_id = 'ST_CLERK';
SELECT
Voc pode combinar AND e OR na mesma expresso lgica.
Quando AND e OR aparecer na mesma clusula WHERE, todos os ANDs
sero feitos primeiros e posteriormente todos os Ors sero feitos.
SELECT
Se voc quiser selecionar todos os Escriturrios e Gerentes que ganhem
acima de 8000, dever fazer:
SELECT First_name, Last_name, Salary, Job_ID
FROM Employees
WHERE Salary > 8000 and
(Job_id = 'ST_CLERK' OR
Job_id = 'ST_MAN')
o
a
SELECT
A clusula ORDER BY
Normalmente a ordem das linhas retornadas de uma pesquisa
indefinida. A clusula ORDER BY pode ser usada para ordenar as linhas.
Se usado, o ORDER BY deve ser sempre a ltima
SELECT
Invertendo o padro de ordenao
Para inverter essa ordem, acrescente o comando DESC
SELECT
Ordenao por vrias colunas.
possvel utilizar mais de uma coluna na clusula ORDER BY.
O limite de colunas o nmero de colunas da
tabela. Na clusula ORDER BY especifica-se as
do
salrio,
ordem
crescente
sobrenome faa:
SELECT First_name, Last_name, Salary
FROM
Employees
WHERE Salary BETWEEN 10000 AND 20000
ORDER BY Salary Desc, Last_name;
do
SELECT
Ordenao por vrias colunas.
SELECT
RESUMO:
Sintaxe
Descrio
SELECT
Sinnimo(Alias)
DISTINCT
FROM Tabela
Where
And / Or
()
Order by
ASC
DESC
Exerccios
Salve os comandos no arquivo Aula2.sql e envie via Link.
1.Montar os comandos de insert para popular o der abaixo, conforme os dados do
prximo slide. Utilize o Script CriaEstrutura.sql que
aut_nacionalidade
aut_dtnasc
aut_cpf
edi_codigo edi_nome
aut_nome
aut_matricula
EDITORA
(1,N)
escreve
(0,1)
PUBLICA
AUTOR
(0,N)
(0,N)
liv_lancamento
liv_codigo
LIVRO
liv_titulo
(0,N)
(1,1)
referente
ASSUNTO
liv_preco
ass_sigla
ass_descricao
Exerccios
LIVRO
liv_codigo
liv_titulo
liv_preco
ESCREVE
liv_lancamento
edi_codigo
ass_sigla
liv_codigo
aut_matricula
32,20
10/01/1999
BAN
programando em linguagem c
30,00
01/10/1997
PRO
115,50
01/11/1998
PRO
48,00
BAN
redes de computadores
42,00
RED
AUTOR
EDITORA
ASSUNTO
ass_sigla
01/09/1996
edi_codigo
ass_descricao
edi_nome
BAN
Banco de Dados
Mirandela
PRO
Programao
RED
Redes
SIS
Sistemas Operacionais
Maria Jos
aut_matricula
aut_nome
Luiz
Hugo
Joaquim
Regina
Exerccios
2. Selecionar o preo do livro cujo preo seja maior que 50 e a sigla
seja BAN
3. Selecionar o preo do livro cujo preo seja maior que 50 ou o
assunto comece com a letra P
4. Selecionar os livros (todos os campos) cujo lanamento seja Nulo.
5. Selecionar os ttulos do livro cujo ttulo comece com Banco.
6. Selecionar os livros (todos os campos) cujo preo esteja
entre 10 e 60
7. Selecionar os livros (todos os campos) cuja sigla seja BAN e PRO
Exerccios
8. Excluir o livro cujo ttulo Banco de Dados Distribudo ou Banco de
Dados para WEB. Somente estas 2 opes devem ser consideradas;
9. Excluir da tabela de livros aqueles que possuem o cdigo maior ou
Referncias Bibliogrficas
[1] Fanderuff, Damaris. Dominando o Oracle 9i: Modelagem e
desenvolvimento. So Paulo:Pearson Education do Brasil, 2003.
[2] Costa, Rogrio Luis de C., SQL : guia prtico. 2. ed. Rio de
Janeiro : Brasport, 2006.
[3] SILBERSCHATZ, A. Sistema de bancos de dados. So Paulo:
Pearson Education do Brasil, 2004.