1 / 36

Comandos SQL

Comandos SQL. Comandos SQL - DML. Comandos SQL - DML. • Os exemplos serão elaborados para o esquema de dados a seguir: EMPREGADO ( matricula , nome, endereco , salario, matriculaSupervisor , codigoDepartamento )

karyn-glenn
Download Presentation

Comandos SQL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comandos SQL

  2. Comandos SQL - DML

  3. Comandos SQL - DML • Os exemplos serão elaborados para o esquema de dados a seguir: EMPREGADO (matricula, nome, endereco, salario, matriculaSupervisor, codigoDepartamento) DEPARTAMENTO (codigoDepartamento, nome, matriculaGerente, dataInicio) PROJETO (codigoProjeto, nome, local, codigoDepartamento) ALOCACAO (matricula, codigoProjeto, horas) DEPENDENTE (codigoDependente, matricula, nome, sexo)

  4. Comandos SQL - DML • Os exemplos serão elaborados para o esquema de dados a seguir:

  5. Comandos SQL - DML • • Operações de manipulação: • SELECT • INSERT • UPDATE • DELETE

  6. Comandos SQL - DML • O comando SELECT: forma básica SELECT <lista atributos> FROM <lista tabelas> WHERE <condição> • O resultado de qualquer comando SELECT é uma tabela - O campo FROM realiza produto cartesiano das tabelas relacionadas - WHERE deve trazer as condições de junção

  7. Comandos SQL – DML - Desafio • Q1. Obtenha todos os atributos de todos os empregados

  8. Comandos SQL – DML - Desafio • Q1. Obtenha todos os atributos de todos os empregados SELECT * FROM empregado;

  9. Comandos SQL – DML - Desafio • Q2. Selecione as matrículas dos empregados

  10. Comandos SQL – DML - Desafio • Q2. Selecione as matrículas dos empregados SELECT matricula FROM empregado;

  11. Comandos SQL – DML - Desafio • Q3. Obtenha o salário do empregado ‘José’

  12. Comandos SQL – DML - Desafio • Q3. Obtenha o salário do empregado ‘José’ SELECT salario FROM empregado WHERE nome = 'José';

  13. Comandos SQL – DML - Desafio • Q4. Selecione todos os atributos de todos os empregados do departamento código 5

  14. Comandos SQL – DML - Desafio • Q4. Selecione todos os atributos de todos os empregados do departamento código 5 SELECT * FROM empregado WHERE codigoDepartamento= 5;

  15. Comandos SQL – DML - Desafio • Q5. Faça o produto cartesiano, seguido de projeção de Empregados X Departamento retornando a matrícula do empregado e o nome do departamento

  16. Comandos SQL – DML - Desafio • • Q5. Faça o produto cartesiano, seguido de projeção de Empregados X Departamento retornando a matrícula do empregado e o nome do departamento • SELECT empregado.matricula, • departamento.nome • FROM empregado, • departamento; • A cláusula FROM realiza o produto cartesiano • Departamento.nome é especificado para não haver confusão com o atributo nome de empregado • - Empregados são relacionados com outros departamentos além daquele em que trabalham

  17. Comandos SQL – DML - Desafio • Q5. Faça o produto cartesiano, seguido de projeção de Empregados X Departamento retornando a matrícula do empregado e o nome do departamento SELECT empregado.matricula, departamento.nome FROM empregado, departamento WHERE empregado.codigoDepertamento = departamento.codigoDepartamento; A cláusula FROM realiza o produto cartesiano - Departamento.nomeé especificado para não haver confusão com o atributo nome de empregado - Empregados são relacionados com outros departamentos além daquele em que trabalham(problema resolvido no WHERE)

  18. Comandos SQL – DML - Desafio • Q6. Selecione o nome e o endereço de todos os empregados que trabalham no departamento de ‘Produção’

  19. Comandos SQL – DML - Desafio • Q6. Selecione o nome e o endereço de todos os empregados que trabalham no departamento de produção SELECT e.nome, e.endereco FROM empregado e, departamento d WHERE d.nome = 'Produção' AND d.codigoDepartamento= e.codigoDepartamento;

  20. Comandos SQL – DML - Exemplos • Q7. Para cada projeto em ‘Fortaleza’, liste o código do projeto, o departamento que controla o projeto e o nome do gerente com endereço e salário

  21. Comandos SQL – DML - Exemplos • Q7. Para cada projeto em ‘Fortaleza’, liste o código do projeto, o departamento que controla o projeto e o nome do gerente com endereço e salário SELECT p.codigoProjeto, d.nome, e.nome, e.endereco, e.salario FROM projeto p, departamento d, empregado e WHERE p.codigoDepartamento= d.codigoDepartamento AND d.matriculaGerente= e.matricula AND p.local = 'Fortaleza';

  22. Comandos SQL – DML - Exemplos • Q8. Para cada empregado, recupere seu nome e o nome do seu supervisor

  23. Comandos SQL – DML - Exemplos • Q8. Para cada empregado, recupere seu nome e o nome do seu supervisor SELECT e.nome, s.nome FROM empregado e s WHERE s.matricula = e.matriculaSupervisor;

  24. Comandos SQL – DML - Exemplos - Q9. Selecione todos os atributos de todos os empregados do departamento ‘Pessoal’

  25. Comandos SQL – DML - Exemplos - Q9. Selecione todos os atributos de todos os empregados do departamento ‘Pessoal’ SELECT * FROM empregado e, departamento d WHERE d.nome = 'Pessoal' AND d.codigoDepartamento= e.codigoDepartamento;

  26. Comandos SQL – DML - Exemplos - Q10. Recupere os salários dos empregados

  27. Comandos SQL – DML - Exemplos - Q10. Recupere os salários dos empregados SELECT salario FROM empregado;

  28. Comandos SQL – DML - Exemplos • Algumas vezes surgem duplicatas como resposta a uma query. Podemos eliminá-las usando o comando DISTINCT na cláusula SELECT - Q11. Selecione os diferentes salários pagos pela empresa aos empregados

  29. Comandos SQL – DML - Exemplos • Algumas vezes surgem duplicatas como resposta a uma query. Podemos eliminá-las usando o comando DISTINCT na cláusula SELECT - Q11. Selecione os diferentes salários pagos pela empresa aos empregados SELECT DISTINCT salario FROM empregado;

  30. Comandos SQL – DML - Exemplos • Q12. Liste todos os nomes de projetos que envolvem o empregado ‘Silva’ como trabalhador

  31. Comandos SQL – DML - Exemplos • Q12. Liste todos os nomes de projetos que envolvem o empregado ‘Silva’ como trabalhador SELECT p.nome FROM projeto p, alocação a, empregado e WHERE p.codigoProjeto = a.codigoProjeto AND e.matricula = a.matricula AND e.nome = 'Silva';

  32. Comandos SQL – DML - Exemplos • Q13. Liste todos os nomes de projetos que envolvem o empregado ‘Silva’ como gerente do departamento que controla o projeto

  33. Comandos SQL – DML - Exemplos • Q13. Liste todos os nomes de projetos que envolvem o empregado ‘Silva’ como gerente do departamento que controla o projeto SELECT p.nome FROM projeto p, departamento d, empregado e WHERE d.codigoDepartamento = p.codigoDepartamento AND d.matriculaGerente = e.matricula AND e.nome = 'Silva‘;

  34. Comandos SQL – DML - Exemplos • SQL implementa a operação UNIAO da álgebra relacional. É requerido que as relações sejam compatíveis de união - Q14. Liste todos os nomes de projetos que envolvem o empregado ‘Silva’ como trabalhador ou como gerente do departamento que controla o projeto

  35. Comandos SQL – DML - Exemplos - Q14. (SELECT p.nome FROM projeto p, departamento d, empregado e WHERE d.codigoDepartamento= p.codigoDepartamento AND d.matriculaGerente= e.matricula AND e.nome = 'Silva') UNION (SELECT p.nome FROM projeto p, alocação a, empregado e WHERE p.codigoProjeto= a.codigoProjeto AND e.matricula = a.matricula AND e.nome = 'Silva');

  36. Comandos SQL - DML • • Exercício: • Defina as tabelas dos slides 3 e 4 usando SQL; • Crie scripts para inserir registros em todas as tabelas; • 15 funcionários (4 supervisores) • 5 dependentes • 6 departamentos • 8 projetos • Testes todas as consultas que foram apresentadas em aula.

More Related