<commit_before>
-- 1)Faa uma consulta (query) que retorne apenas o primeiro nome do Associado (tabela associado).
Select Substring(nome,1,Charindex(' ', nome) - 1) as primeiro_nome from Associado


--2)Faa uma consulta que retorne o nome dos associados e a idade
-- de cada um (em anos, exibir um nmero inteiro).

Select nome, DataNascimento, DateDiff(YEAR, DataNascimento, getdate()) as idade
from Associado;

--3)Faa uma consulta que liste os empregados admitidos entre 01/05/1980 e 20/01/1982.
-- Exibir tambm o total de meses de trabalho at a data de 31/12/2000.


select NomeEmpregado, DataAdmissao, DateDiff(MONTH, DataAdmissao, '31/12/2000') as Messes_de_trabalho  
from Empregado
	where DataAdmissao >='01/05/1980' 
	and DataAdmissao <='20/01/1982'

--4)Qual o cargo (tabela empregado) possuir mais empregados?

Select top 1 Cargo,
COUNT(1) as Total
From Empregado
Group By Cargo desc;

--5)Qual  o associado de maior nome (nmero de caracteres) ?
<commit_msg>Exercicios 1a10<commit_after>--1)Faa uma consulta (query) que retorne apenas o primeiro nome do Associado (tabela associado).
select top 1 nome 
from Associado;
 
--2)Faa uma consulta que retorne o nome dos associados e a idade de cada um (em anos, exibir um nmero inteiro).
 
select nome, DATEDIFF(YEAR, DataNascimento, GETDATE()) as Idade
from Associado;
 
 
--3)Faa uma consulta que liste os empregados admitidos entre 01/05/1980 e 20/01/1982.
-- Exibir tambm o total de meses de trabalho at a data de 31/12/2000.
 
select NomeEmpregado, DATEDIFF(MONTH, DataAdmissao, convert(datetime, '2000/12/31', 111)) as MesesTrabalhados
from Empregado
where DataAdmissao between convert(datetime, '1980/05/01', 111) AND convert(datetime, '1982/01/20', 111)
 
 
--4)Qual o cargo (tabela empregado) possuir mais empregados?
 
select top 1 Cargo, count(Cargo) as Maximo
from Empregado
group by Cargo
order by Maximo desc
 
--5)Qual  o associado de maior nome (nmero de caracteres) ?
 
select Nome
from Associado
order by LEN(nome) desc
 
--6)Faa uma consulta que retorne o nome do associado
--  e a data de quando cada completar (ou completou) 50 anos, liste tambm o dia da semana.
 
select Nome, convert(date, (dateadd(YEAR, 50, DataNascimento))) as Data50Anos,
  datename(dw, dateadd(YEAR, 50, DataNascimento)) as Dia_Semana
from Associado
--7)Liste a quantidade de cidades agrupando por UF.
select UF, count(1) Numero_Cidades
from Cidade
group by UF
 
 
--8)Liste as cidades que possuem o mesmo nome e UF.
select Nome, UF
from Cidade
group by Nome, UF
having count(1) > 1
 
--9)Identifique qual deve ser o prximo ID para a 
--  criao de um novo registro na tabela Associado (maior + 1).
select max(IDAssociado)+1
from Associado
 
--10)Limpe a tabela CidadeAux, e insira somente as cidades com nomes e UFs distintos, 
-- considere somente o menor cdigo ID das cidades duplicadas.
 
truncate table CidadeAux;
insert into CidadeAux(Nome, IDCidade, UF) select distinct Nome, IDCidade, UF from Cidade;
 
select Nome, UF, count(1)
from CidadeAux
group by Nome, UF
having count(1) > 1
 
insert into CidadeAux(IDCidade, Nome, UF) 
select IDCidade, Nome, UF from Cidade;
{'fraction_non_alphanumeric': 0.08397435897435897, 'fraction_numerical': 0.046794871794871795, 'mean_word_length': 4.335042735042735, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 6, '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': '7132357', 'n_tokens_mistral': 1253, 'n_tokens_neox': 1130, 'n_words': 429}