Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula 05 - Desafio: hora da prática

Boa tarde, estou com uma dúvida no desafio abaixo:

  1. Crie uma tabela chamada funcionarios com as seguintes colunas: id (int, chave primária), nome (varchar(100)), departamento (varchar(100)) e salario (float). Em seguida, insira os seguintes registros de funcionários na tabela:

ID: 1, Nome: Heitor Vieira, Departamento: Financeiro, Salário: 4959.22 ID: 2, Nome: Daniel Campos, Departamento: Vendas, Salário: 3884.44 ID: 3, Nome: Luiza Dias, Departamento: TI, Salário: 8205.78 ID: 4, Nome: Davi Lucas Moraes, Departamento: Financeiro, Salário: 8437.02 ID: 5, Nome: Pietro Cavalcanti, Departamento: TI, Salário: 4946.88 ID: 6, Nome: Evelyn da Mata, Departamento: Vendas, Salário: 5278.88 ID: 7, Nome: Isabella Rocha, Departamento: Marketing, Salário: 4006.03 ID: 8, Nome: Sra. Manuela Azevedo, Departamento: Vendas, Salário: 6101.88 ID: 9, Nome: Brenda Cardoso, Departamento: TI, Salário: 8853.34 ID: 10, Nome: Danilo Souza, Departamento: TI, Salário: 8242.14 2) Selecione todos os campos de todos os registros na tabela funcionarios.

  1. Na tabela funcionarios, selecione os nomes dos funcionários que trabalham no departamento de "Vendas".

  2. Selecione os funcionários da tabela funcionarios cujo salário seja maior que 5000.

  3. Na tabela funcionarios, selecione todos os departamentos distintos.

  4. Atualize o salário dos funcionários do departamento de "TI" para 7500 na tabela funcionarios.

  5. Delete da tabela funcionarios todos os registros de funcionários que ganham menos de 4000.

  6. Selecione os nomes e salários dos funcionários que trabalham no departamento de "Vendas" e cujo salário seja maior ou igual a 6000.

  7. Crie uma tabela chamada projetos com as colunas: id_projeto (int, chave primária), nome_projeto (varchar(100)), id_gerente (int, referência a id na tabela funcionarios). Insira 3 registros na tabela projetos e, em seguida, selecione todos os projetos cujo id_gerente seja igual a 2.

  8. Remova a tabela funcionarios do banco de dados.

No tópico 09, o código está me trazendo um resultado vazio na parte do SELECT... (adicionei um comentário na parte do código que a dúvida surgiu), porém, entendo que deveria trazer a linha do ID '2'. Pensei na possibilidade disso ter sido causado pela linha em que são excluídos os dados com salário menor que 4000, entretanto, quando escrevo uma nova linha ao final do código abaixo com SELECT * FROM funcionarios, o ID 2 aparece.

CREATE TABLE funcionarios (
  id INT PRIMARY KEY,
  nome VARCHAR (100),
  departamento VARCHAR (100),
  salario FLOAT
);
  
INSERT INTO funcionarios (id, nome, departamento, salario)
  values
    ('1', 'Heitor Vieira','Financeiro',4959.22),
    ('2', 'Daniel Campos','Vendas',3884.44),
    ('3','Luiza Dias','TI',8205.78),
    ('4','Davi Lucas Moraes','Financeiro',8437.02),
    ('5','Pietro Cavalcanti','TI',4946.88),
    ('6','Evelyn da Mata','Vendas',5278.88),
    ('7','Isabella Rocha','Marketing',4006.03),
    ('8','Sra. Manuela Azevedo','Vendas',6101.88),
    ('9','Brenda Cardoso','TI',8853.34),
    ('10','Danilo Souza','TI',8242.14)
  ;
    
SELECT * FROM funcionarios;
    
SELECT nome FROM funcionarios WHERE departamento = 'Vendas';
    
SELECT nome FROM funcionarios where salario > 5000;
    
SELECT DISTINCT departamento FROM funcionarios;
    
update funcionarios SET salario = 7500 where departamento = 'TI';
    
DELETE FROM funcionarios WHERE salario < 4000;
    
select nome,salario from funcionarios WHERE departamento = 'Vendas' AND salario >= 6000;
        
CREATE TABLE projetos (
 id_projeto INT PRIMARY KEY,
 nome_projeto VARCHAR (100),
 id_gerente INT,
 FOREIGN KEY (id_gerente) REFERENCES funcionarios(id)
);
      
--dúvida no script abaixo

SELECT * FROM projetos WHERE id_gerente = '2';
    
DROP TABLE funcionarios
      
    

Agradeço o suporte.

1 resposta
solução!

Boa noite David, pelo que entendi, o item 07 pede para inserir 3 registros na recém criada tabela projetos.

Se você não inseriu os registros, a tabela foi gerada mas ainda está vazia, por isso que o SELECT * FROM projetos não irá retornar nada.

SELECT * FROM projetos WHERE id_gerente = '2';

Como esse script pede pra selecionar algo onde id_gerente = '2', podemos imaginar que ele pede projetos que o gerente Daniel Campos, do departamento vendas trabalhou.

Então um exemplo de 3 registros é:

INSERT INTO projetos (id_projeto, nome_projeto, id_gerente)
        values
    ('1', 'Desenvolvimento', '2'),
    ('2', 'Apresentação', '2'),
    ('3', 'Novo Produto', 7);

Dessa forma, quando você realizar o SELECT * FROM projetos WHERE id_gerente = '2'; novamente, irá aparecer alguma coisa.