Buscar

Introdução ao SQL

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 24 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Banco de Dados
Structured Query Language (SQL)
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
		
Structured Query Language - Slide ‹nº›
1
SQL 
 Manipulação 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 ‹nº›
2
SQL 
 Manipulação de Dados
	
	DELETE 
	
	Remove linhas na tabela existente
	DELETE FROM tabela WHERE <condição>;
	<condição> = <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 ‹nº›
3
SQL 
 Manipulação de Dados
	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
		<atributo=atributo>
				ou
		<atributo=operações de atributos e constantes>
 ou 
		<atributo=comando select>
			
Structured Query Language - Slide ‹nº›
4
SQL 
 Manipulação 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 ‹nº›
5
SQL 
 Manipulação de Dados
	
	COMMIT
	Utilizado para confirmar uma transação
	ROLLBACK
	Utilizado para desfazer uma transação 
	
Structured Query Language - Slide ‹nº›
6
SQL 
 Manipulação de Dados
	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>
 [WHERE <condições>]
	[GROUP BY <atributos de agrupamento>] 
 [HAVING <condição de agrupamento>]
 [ORDER BY <lista de atributos>];
	
	
Structured Query Language - Slide ‹nº›
7
SQL 
 Manipulação de Dados
	
	SELECT/FROM
	Lista os artributos de uma tabela 
	SELECT atributo1, atributo2, ..., atributon FROM tabela 
	SELECT nome, endereco FROM empregado; 	Projeção
	SELECT * FROM empregado;
	SELECT DISTINCT salario FROM empregado;
	 
Structured Query Language - Slide ‹nº›
8
SQL 
 Manipulação de Dados
	
	SELECT/FROM
	Selecione :
1) O nome e endereço 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 ‹nº›
9
SQL 
 Manipulação de Dados
	
	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
 Operações de comparação (=, >, <)
 Faixas (BETWEEN e NOT BETWEEN)
 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 ‹nº›
10
SQL 
 Manipulação de Dados
Operadores de comparação:
 =	igual a 
 >	maior que
<		menor que
 >=	maior que ou igual a
 <=	menor que ou igual a
 !=	diferente
 <>	diferente
 !>	não maior que 
 !<	não 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 minúsculas são maiores que letras maiúsculas, letras maiúsculas
são maiores que números
Structured Query Language - Slide ‹nº›
11
SQL 
 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 ‹nº›
12
SQL 
 Manipulação de Dados
	
	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 ‹nº›
13
SQL 
 Manipulação 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 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 ‹nº›
14
SQL 
 Manipulação de Dados
	Correspondência de caracteres (LIKE e Not LIKE)
	
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 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 ‹nº›
15
SQL 
 Manipulação de Dados
	Correspondência de caracteres (LIKE e Not LIKE)
	
	Selecione o nome e bairro de empregados que começam com as letras “MAR” 
 	Select empregado.nome, bairro 
 from empregado 
 	where empregado.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_ _”
Structured Query Language - Slide ‹nº›
16
SQL 
 Manipulação de Dados
	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]%”
	
Structured Query Language - Slide ‹nº›
17
SQL 
 Manipulação de Dados
	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
	from empregado where matricula not in (1,2, 3)
Structured Query Language - Slide ‹nº›
18
SQL 
 Manipulação de Dados
	Operadores Lógicos AND e OR
	
AND
 	- Agrupa duas ou mais condições 
 	- Retorna resultados apenas quando todas as condições são verdadeiras.
OR
 	 - Agrupa duas ou mais condicões 
	 - Retorna resultados quando qualquer das condições são verdadeiras.
Structured Query Language - Slide ‹nº›
19
SQL 
 Manipulação de Dados
	 Operadores Lógicos AND e OR 	
	
	Selecione o codigo e nome de departamentos, cujo codigoseja 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’
	
Structured Query Language - Slide ‹nº›
20
SQL 
 Manipulação de Dados
	 Renomeando colunas
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>
	 Select empregado.nome as “Nome do Empregado” from empregado
	 
	
	String de caracteres em resultados
Select ‘Nome do Empregado’, nome, ‘Bairro’, bairro
from empregado
	
Structured Query Language - Slide ‹nº›
21
SQL 
 Manipulação de Dados
	 Expressões aritméticas (operadores aritméticos)
	+	adição			
	- 	subtração
	* 	multiplicação
	/	divisão
	Podem ser utilizados em qualquer coluna numérica;
 	Usados em qualquer comando que permita expressão;
Adição
 	Select cod, horas+10 from trabalhaem
	Select nome, salario+comissao from empregado
Multiplicação
	 Select matricula, nome, salario*1,2 from empregado
Structured Query Language - Slide ‹nº›
22
SQL 
 Manipulação de Dados
	 Expressões aritméticas (operadores aritméticos)
	
Subtração
 	Select cod, horas-10 from trabalhaem
Divisão
	 Select matricula, nome, salario/30 from empregado
Structured Query Language - Slide ‹nº›
23
SQL 
 Manipulação de Dados
	
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.
Structured Query Language - Slide ‹nº›
24
Plan1
	Nome	Bairro
	Maria	Itaigara
	Marta	Pituba
	Marieta	Pituba
	Marina	Itapuan
	
	
	
	Nome	Bairro
	Maria	Itaigara
	Marta	Pituba
Plan2
	
Plan3
	
Plan1
	
	
	
	
	
	
	
	
	
	
	Nome	Bairro
	Maria	Itaigara
	Marta	Pituba
	Marieta	Barra
	Marina	Pituba
	Norma	Graça
	Paulo	Garcia
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
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
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
	
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		Nome do Empregado				Nome do Empregado
	3	Engenharia		Ana				Ana
				Andrea				Andrea
	Codigo	Nome		Antonio				Antonio
	1	Informatica		Alfredo				Alfredo
	2	Administracao		Carlos				Carlos
Plan2
	
Plan3
	
Plan1
	Nome	Bairro		Matricula	Nome	Bairro			Nome		Bairro
	Maria	Itaigara		1	Ana	Itaigara		Nome do Empregado	Ana	Bairro	Itaigara
	Marta	Pituba		2	Andrea	Pituba		Nome do Empregado	Andrea	Bairro	Pituba
	Marieta	Pituba		3	Antonio	Graca		Nome do Empregado	Antonio	Bairro	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		Nome do Empregado				Nome do Empregado
	3	Engenharia		Ana				Ana
				Andrea				Andrea
	Codigo	Nome		Antonio				Antonio
	1	Informatica		Alfredo				Alfredo
	2	Administracao		Carlos				Carlos
Plan2
	
Plan3

Outros materiais