<commit_before>--1)Selecione o nome do empregado e nome do departamento que cada um est associado.

select a.NomeEmpregado,
d.NomeDepartamento
from Empregado a
inner join Departamento d on a.IDDepartamento= d.IDDepartamento;

--2)Exibir o nome do associado e sua cidade, exibir tambm associados sem Cidade relacionada.

select a.Nome, c.Nome
from Associado a
left join Cidade c on a.IDCidade=c.IDCidade ;

--3)Lista os estados (UF) e total de cidades que no possuem associados relacionados 
--(dica: pode ser utilizado count + group by + exists).

Select  e.UF, count(1) Contador
From Cidade e
Where  not EXISTS(Select 1
From Associado a
Where a.IDCidade= e.IDCidade)
Group by e.UF
order by Contador desc


delete from Associado where IDAssociado=3


 --busca auxiliar
select * from Associado
select * from Cidade

--4)Faa uma consulta que liste o nome do associado, o nome da cidade,
-- e uma coluna que indique se a cidade  da regio SUL (RS, SC, PR),
-- se for imprimir *** (3 asteriscos), seno imprimir nulo.

create view vw_cidade_regiao as
select a.Nome as nomeAssociado, 
c.Nome as NomeCidade,
case when c.UF in ('RS','SC','PR') then '***'
else null
end E_do_sul_tche
	
from Associado a

left join Cidade c on a.IDCidade=c.IDCidade ;


--5)Liste o nome do empregado, o nome do gerente, e o departamento de cada um.


select  e.NomeEmpregado, 
		d.NomeDepartamento, 
		e.Cargo,
	case 
		when e.Cargo ='Gerente' then Cargo
	end Gerentes
from Empregado e
	inner join Departamento d on e.IDDepartamento= d.IDDepartamento
order by Gerentes desc

--6)Faa uma cpia da tabela Empregado e 
--altere o salrio de todos os empregados 
--que o departamento fique na localidade de SAO PAULO, faa um reajuste de 14,5%

SELECT * INTO EmpregadoCOPIA 
   FROM Empregado

begin transaction
go

update Empregado
set Salario =Salario + Salario*0.145
where NomeEmpregado in (select e.NomeEmpregado
from Empregado e
inner join Departamento d on e.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO')


select NomeEmpregado,Salario
from Empregado e
inner join Departamento d on e.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO'

select Localizacao
from Departamento



<commit_msg>Exercico 7 da aula 5<commit_after>--1)Selecione o nome do empregado e nome do departamento que cada um est associado.

select a.NomeEmpregado,
d.NomeDepartamento
from Empregado a
inner join Departamento d on a.IDDepartamento= d.IDDepartamento;

--2)Exibir o nome do associado e sua cidade, exibir tambm associados sem Cidade relacionada.

select a.Nome, c.Nome
from Associado a
left join Cidade c on a.IDCidade=c.IDCidade ;

--3)Lista os estados (UF) e total de cidades que no possuem associados relacionados 
--(dica: pode ser utilizado count + group by + exists).

Select  e.UF, count(1) Contador
From Cidade e
Where  not EXISTS(Select 1
From Associado a
Where a.IDCidade= e.IDCidade)
Group by e.UF
order by Contador desc


delete from Associado where IDAssociado=3


 --busca auxiliar
select * from Associado
select * from Cidade

--4)Faa uma consulta que liste o nome do associado, o nome da cidade,
-- e uma coluna que indique se a cidade  da regio SUL (RS, SC, PR),
-- se for imprimir *** (3 asteriscos), seno imprimir nulo.

create view vw_cidade_regiao as
select a.Nome as nomeAssociado, 
c.Nome as NomeCidade,
case when c.UF in ('RS','SC','PR') then '***'
else null
end E_do_sul_tche
	
from Associado a

left join Cidade c on a.IDCidade=c.IDCidade ;


--5)Liste o nome do empregado, o nome do gerente, e o departamento de cada um.


select  e.NomeEmpregado, 
		d.NomeDepartamento, 
		e.Cargo,
	case 
		when e.Cargo ='Gerente' then Cargo
	end Gerentes
from Empregado e
	inner join Departamento d on e.IDDepartamento= d.IDDepartamento
order by Gerentes desc

--6)Faa uma cpia da tabela Empregado e 
--altere o salrio de todos os empregados 
--que o departamento fique na localidade de SAO PAULO, faa um reajuste de 14,5%

SELECT * INTO EmpregadoCOPIA 
   FROM Empregado

begin transaction
go

update Empregado
set Salario =Salario + Salario*0.145
where NomeEmpregado in (select e.NomeEmpregado
from Empregado e
inner join Departamento d on e.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO')


select NomeEmpregado,Salario
from EmpregadoCOPIA e
inner join Departamento d on e.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO'

select Localizacao
from Departamento

--7)Liste a diferena que representar o reajuste aplicado no item 
--anterior no somatrio dos salrios de todos os empregados.

select e.NomeEmpregado,
e.Salario as salarioAtual,
ec.Salario as salarioAntigo,
e.Salario-ec.Salario as diferencaSalario
from Empregado e
inner join Departamento d on e.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO'

inner join EmpregadoCOPIA ec on ec.IDDepartamento = d.IDDepartamento and d.Localizacao='SAO PAULO'


{'fraction_non_alphanumeric': 0.06821929101401483, 'fraction_numerical': 0.007625721352019786, 'mean_word_length': 4.246486486486487, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2538635', 'n_tokens_mistral': 1820, 'n_tokens_neox': 1783, 'n_words': 649}