SQL2_v2

24
Structured Query Language - Slide 1 Banco de Dados Banco de Dados Structured Query Structured Query Language (SQL) Language (SQL) 2 2 Livros Texto : Introdução a Sistemas de Banco de Dados - Date Sistemas de Banco de Dados – Korth & Silberschatz Sistemas de Banco de Dados Fundamentos e Aplicações – Elmasri & Navathe

description

SQL2

Transcript of SQL2_v2

Slide 1Livros Texto : Introdução a Sistemas de Banco de Dados - Date
Sistemas de Banco de Dados – Korth & Silberschatz Sistemas de Banco de Dados Fundamentos e Aplicações – Elmasri & Navathe
Banco de Dados
INSERT INTO tabela (atributo1, atributo2, ..., atributon) VALUES
(valor1, valor2, ..., valorn)
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 *
<condição> = <atributo> <operador> <constante>
Structured Query Language - Slide *
UPDATE
Modifica valores de um ou mais atributos de uma ou mais linhas selecionadas
UPDATE tabela SET <atribuições> WHERE <condição>;
<atribuições> = <atributo=constantes>
ou
UPDATE Empregado SET salario = salario*1.1;
UPDATE TrabalhaEm SET horas=20 WHERE codproj=01 and matemp=11111;
Structured Query Language - Slide *
ROLLBACK
Structured Query Language - Slide *
SELECT (CONSULTAS)
Instrução básica para recuperar informações no banco de dados. Retorna um result set. Navegação é decidida pelo sistema.
SELECT <lista de atributos e funções>
FROM <lista de tabelas>
[HAVING <condição de agrupamento>]
Structured Query Language - Slide *
SELECT * FROM empregado;
Structured Query Language - Slide *
2) O nome, sexo e parentesco de todos os dependentes
3) Todos os projetos com codigo e nome
Structured Query Language - Slide *
SELECT/FROM/WHERE
Lista os atributos de uma tabela a depender de uma condição
SELECT atributo1, atributo2, ..., atributon FROM tabela WHERE <condição> restrição
Condições do comando WHERE
Correspondência de caracteres (LIKE e Not LIKE)
Valores desconhecidos (IS NULL e IS NOT NULL)
Listas (IN e NOT IN)
Combinações com AND e OR
NOT pode negar qualquer expressão booleana e chaves como LIKE, NULL, BETWEEN e IN
Structured Query Language - Slide *
!= diferente
<> diferente
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
são maiores que números
Structured Query Language - Slide *
Manipulação de Dados
Operações de comparação :
1) Selecione nome e salário dos empregados com salário maior que 3.000,00
2) Selecione nome todos os empregados do departamento 03 com salário 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 *
Faixas BETWEEN e NOT BETWEEN :
BETWEEN - Opção usada para especificar uma faixa inclusiva; os valores extremos da faixa também são incluídos na busca.
NOT BETWEEN – Negação do BETWEEN. Exclui os valores especificados na faixa, inclusive os extremos.
Structured Query Language - Slide *
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 salário 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 *
Selecionar linhas que contenham campos que correspondem a porções especificadas de uma série 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 fora da faixa especificada
Obs.: Inclua os curingas e a string de caracteres entre aspas simples ou duplas.
Structured Query Language - Slide *
Correspondência de caracteres (LIKE e Not LIKE)
Selecione o nome e bairro de empregados que começam com as letras “MAR”
Select nome, bairro from empregado
where nome like “MAR%”
Selecione o nome dos empregados dos departamento que começam com as letras “MAR” e de 5 caracteres
Select nome, bairro from empregado where
nome like “MAR_ _”
Correspondência de caracteres (LIKE e Not LIKE)
Selecione o nome e bairro de empregados, cujos nomes começam com qualquer letra entre M e P, inclusive
Select nome, bairro from empregado
where nome like “[M-P]%”
Listas (IN e NOT IN)
O operador de comparação IN permite ao usuário 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)
Select matricula, nome, bairro
from empregado where matricula in (1, 2, 3)
Selecione a matricula, nome e bairro dos empregados que a matricula não esteja na lista (1, 2, 3)
Select matricula, nome, bairro
Plan1
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
Marieta
Pituba
3
Antonio
Graca
Marina
Itapuan
4
Alfredo
Barra
Paulo
Graca
5
Carlos
Itaigara
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
3
Antonio
Graca
Matricula
Nome
Bairro
4
Alfredo
Barra
5
Carlos
Itaigara
Plan2
Plan3
AND
- Retorna resultados apenas quando todas as condições são verdadeiras.
OR
- Retorna resultados quando qualquer das condições são verdadeiras.
Structured Query Language - Slide *
Operadores Lógicos AND e OR
Selecione o codigo e nome de departamentos, cujo codigo seja 1 e o nome Informática
Select codigo, nome from departamento
where codigo = 1 and nome = ‘Informática’;
Selecione o codigo e nome de departamentos, cujo codigo seja 1 ou o nome Administração
Select codigo, nome from departamento where codigo = 1 or nome = ‘Administração’
Plan1
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
Marieta
Pituba
3
Antonio
Graca
Marina
Itapuan
4
Alfredo
Barra
Paulo
Graca
5
Carlos
Itaigara
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
3
Antonio
Graca
Matricula
Nome
Bairro
4
Alfredo
Barra
5
Carlos
Itaigara
Codigo
Nome
1
Informatica
2
Administracao
3
Engenharia
Plan2
Plan3
Plan1
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
Marieta
Pituba
3
Antonio
Graca
Marina
Itapuan
4
Alfredo
Barra
Paulo
Graca
5
Carlos
Itaigara
Nome
Bairro
Matricula
Nome
Bairro
Maria
Itaigara
1
Ana
Itaigara
Marta
Pituba
2
Andrea
Pituba
3
Antonio
Graca
Matricula
Nome
Bairro
4
Alfredo
Barra
5
Carlos
Itaigara
Codigo
Nome
1
Informatica
2
Administracao
3
Engenharia
Codigo
Nome
1
Informatica
2
Administracao
Plan2
Plan3
Pode-se estabelecer um outro nome para ser utilizado na saída
da declaração select, ao invés do nome da coluna.
Select <cabecalho_da_coluna as nome_da_coluna>
String de caracteres em resultados
Select ‘Nome do Empregado’, nome, ‘Bairro’, bairro
from empregado
Adição
Multiplicação
Structured Query Language - Slide *
Divisão
Structured Query Language - Slide *
1) Que departamentos estão localizados no Prédio 1 ?
2) Exiba todas as informações 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 situação Concluído e que são controlados pelo departamento 5.
6) Encontre todos os empregados Analistas e que trabalham no departamento 1.
7) Projetos que têm 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 salários distintos dos empregados.
10) Selecione nome todos os empregados admitidos antes de 01/10/2000.
Nome
Bairro
Maria
Itaigara
Marta
Pituba
Marieta
Pituba
Marina
Itapuan