Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBento Ramires Monsanto Alterado mais de 8 anos atrás
1
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 4 SQL básica
2
Copyright © 2011 Ramez Elmasri and Shamkant Navathe DML Data Manipulation Language
3
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 3© 2011 Pearson Prentice Hall. Todos os direitos reservados. Consultas de recuperação básicas em SQL Instrução SELECT Uma instrução básica para recuperar informações de um banco de dados SQL permite que uma tabela tenha duas ou mais tuplas que são idênticas em todos os seus valores de atributo Assim, em geral, uma tabela SQL não é um conjunto de tuplas Multiconjunto ou comportamento bag
4
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 4© 2011 Pearson Prentice Hall. Todos os direitos reservados. A estrutura SELECT-FROM- -WHERE das consultas SQL básicas Forma básica do comando SELECT:
5
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 5© 2011 Pearson Prentice Hall. Todos os direitos reservados. Operadores de comparação lógicos =,, >= e <> Atributos de projeção Atributos listados na cláusula SELECT, cujos valores devem ser recuperados Condição de seleção Condição booleana especificada pela cláusula WHERE que deve ser verdadeira para qualquer tupla recuperada A estrutura SELECT-FROM- -WHERE das consultas SQL básicas (cont.)
6
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 6© 2011 Pearson Prentice Hall. Todos os direitos reservados. Banco de dados Empresa
7
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 7© 2011 Pearson Prentice Hall. Todos os direitos reservados. Instruções e resultados de consultas SQL aplicados ao banco de dados EMPRESA. A estrutura SELECT-FROM- -WHERE das consultas SQL básicas (cont.) Consulta 1. Recuperar o nome e o endereço de todos os fun- cionários que trabalham para o departamento ‘Pesquisa’. C1. SELECTPnome, Unome, Endereco FROMFUNCIONARIO, DEPARTAMENTO WHEREDnome=‘Pesquisa’ AND Dnumero=Dnr;
8
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 8© 2011 Pearson Prentice Hall. Todos os direitos reservados. Instruções e resultados de consultas SQL aplicados ao banco de dados EMPRESA. Consulta seleção-projeção-junção A estrutura SELECT-FROM- -WHERE das consultas SQL básicas (cont.)
9
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 9© 2011 Pearson Prentice Hall. Todos os direitos reservados. Nomes de atributos ambíguos O mesmo nome pode ser usado para dois (ou mais) atributos em relações diferentes É preciso qualificar o nome do atributo com o nome da relação, para evitar ambiguidade Isso é feito prefixando o nome da relação ao nome do atributo e separando os dois por um ponto Exemplo: Suponha que os atributos Dnr e Unome da relação FUNCIONARIO fossem chamados de Dnumero e Nome, e o atributo Dnome de DEPARTAMENTO também fosse chamado Nome.
10
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 10© 2011 Pearson Prentice Hall. Todos os direitos reservados. Apelido, renomeação e variáveis de tupla Apelidos ou variáveis de tupla Declarar nomes de relação alternativos F e S Apelidos para atributos SELECTF.Pnome, F.Unome, S.Pnome, S.Unome FROMFUNCIONARIO AS F, FUNCIONARIO AS S WHERE F.Cpf_supervisor=S.Cpf; FUNCIONARIO AS F(Pn, Mi, Un, Cpf, Dn, End, Sexo, Sal, Scpf, Dnr)
11
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 11© 2011 Pearson Prentice Hall. Todos os direitos reservados. Cláusula WHERE não especificada A falta de uma cláusula WHERE Indica que não há condição sobre a seleção de tuplas Se mais de uma relação for especificada na cláusula FROM e não houver uma cláusula WHERE, então o PRODUTO CARTESIANO - Todas as combinações de tuplas possíveis - dessas relações será selecionado.
12
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 12© 2011 Pearson Prentice Hall. Todos os direitos reservados. Uso do asterisco Especificar um asterisco (*) Recuperar todos os valores de atributo das tuplas selecionadas
13
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 13© 2011 Pearson Prentice Hall. Todos os direitos reservados. Tabelas como conjuntos em SQL SQL não elimina automaticamente tuplas duplicadas nos resultados das consultas Usa-se a palavra-chave DISTINCT na cláusula SELECT Apenas as tuplas distintas deverão permanecer no resultado
14
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 14© 2011 Pearson Prentice Hall. Todos os direitos reservados. Tabelas como conjuntos em SQL (cont.) Operações de conjunto A SQL incorporou algumas das operações da teoria dos conjuntos da matemática UNION, EXCEPT (diferença), INTERSECT Operações multiconjuntos correspondentes: UNION ALL, EXCEPT ALL, INTERSECT ALL)
15
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 15© 2011 Pearson Prentice Hall. Todos os direitos reservados. Combinação de padrão de subcadeias Operador de comparação LIKE Usado para combinação de padrão de cadeia % substitui um número qualquer de zero ou mais caracteres Sublinhado (_) substitui um único caractere SELECTPnome, Unome FROMFUNCIONARIO WHERE Endereco LIKE ‘%Dourados%’; SELECTPnome, Unome FROMFUNCIONARIO WHERE Datanasc LIKE ‘_ _ _ _ _ _ _ _ 5 _’;
16
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 16© 2011 Pearson Prentice Hall. Todos os direitos reservados. Operadores aritméticos Operadores aritméticos padrão: Adição (+), subtração (–), multiplicação (*) e divisão (/) SELECTF.Pnome, F.Unome, 1.1 * F.Salario AS Aumento_salario FROMFUNCIONARIO AS F, TRABALHA_EM AS T, PROJETO AS P WHERE F.Cpf=T.FCpf AND T.Pnr=P.Projnumero AND P.Projnome=‘ProdutoX’;
17
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 17© 2011 Pearson Prentice Hall. Todos os direitos reservados. Operadores aritméticos Operador de comparação BETWEEN SELECT* FROMFUNCIONARIO WHERE (Salario BETWEEN 30.000 AND 40.000) AND Dnr = 5;
18
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 18© 2011 Pearson Prentice Hall. Todos os direitos reservados. Ordem dos resultados da consulta Use a cláusula ORDER BY Palavra-chave DESC para ver o resultado em uma ordem decrescente de valores Palavra-chave ASC para especificar a ordem crescente explicitamente ORDER BY D.Dnome DESC, F.Unome ASC, F.Pnome ASC SELECTD.Dnome, F.Unome, F.Pnome, P.Projnome FROMDEPARTAMENTO D, FUNCIONARIO F, TRABALHA_EM T, PROJETO P WHERE D.Dnumero=F.Dnr AND F.Cpf=T.FCpf AND T.Pnr=P.Projnumero ORDER BYD.Dnome, F.Unome, F.Pnome;
19
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 19© 2011 Pearson Prentice Hall. Todos os direitos reservados. Discussão e resumo das consultas de recuperação da SQL básica
20
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 20© 2011 Pearson Prentice Hall. Todos os direitos reservados. Instruções INSERT, DELETE e UPDATE em SQL Três comandos usados para modificar o banco de dados: INSERT, DELETE e UPDATE
21
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 21© 2011 Pearson Prentice Hall. Todos os direitos reservados. O comando INSERT Especificar o nome da relação e uma lista de valores para a tupla Os valores devem ser listados na mesma ordem em que os atributos correspondentes foram especificados no comando CREATE TABLE.
22
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 22© 2011 Pearson Prentice Hall. Todos os direitos reservados. O comando INSERT Segunda forma da instrução INSERT Permite especificar nomes de atributos explícitos aos valores fornecidos no comando INSERT Os valores precisam incluir todos os atributos com a especificação NOT NULL INSERT INTOFUNCIONARIO (Pnome, Unome, Dnr, Cpf) VALUES (‘Ricardo’, ‘Marini’, 4, ‘65329865388’);
23
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 23© 2011 Pearson Prentice Hall. Todos os direitos reservados. O comando DELETE Remove tuplas de uma relação Inclui uma cláusula WHERE para selecionar as tuplas a serem excluídas
24
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 24© 2011 Pearson Prentice Hall. Todos os direitos reservados. O comando UPDATE Modifica valores de atributo de uma ou mais tuplas selecionadas Cláusula SET adicional no comando UPDATE Especifica os atributos a serem modificados e seus novos valores U6: UPDATEFUNCIONARIO SETSalario = Salario * 1.1 WHEREDnr = 5;
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.