Baixe o app para aproveitar ainda mais
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
Compartilhar