O guia definitivo do JOIN no SQL | SQL Básico - Parte 3
ฝัง
- เผยแพร่เมื่อ 25 พ.ย. 2024
- letsdata.ai/sq...
Lançamos uma formação completa de SQL com 3 cursos incluídos:
Conceitos Básicos de Bases de Dados Relacionais
Relações, tabelas, domínios, colunas, etc
SQL Essencial
Primeiras consultas, WHERE, SELECT, GROUP BY, ORDER BY, JOIN, criação de tabelas
SQL Master
Subconsultas, UNION, WITH, Strings, Datas, Condições, Window Functions
Saiba mais em letsdata.ai/sq...
---------
Neste último vídeo sobre SQL Básico vamos descobrir que existem vários tipos de junção! E todos
são importantes não só para SQL, mas para manipulação de dados tabulares de tudo que é tecnologia!
Fechamos nosso mini curso de SQL com as consultas aninhadas e o comando WITH. Tudo isso pra você ter mais ferramentas na hora de responder às perguntas de negócio da sua empresa. Ainda temos um bônus com vários comandos que considero úteis para o nosso dia a dia e que ainda não apresentamos nos outros vídeos.
Ao término deste vídeo, você será capaz de:
Realizar consultas onde todos os elementos de uma tabelas aparecem, mesmo que haja junção com outras tabelas (ex: fazer um relatório de vendas de empregados, trazendo TODOS os nomes e vendas, até os nomes daqueles que não venderam nada no período).
Utilizar consultas aninhadas como se fossem tabelas (pode ser útil em muitos casos onde a periodicidade da tabela principal e aninhada são diferentes (ex : uma tabela está com vendas
trimestrais e outra está mensal).
Clica logo no play e no like :)
Não se esqueça de se inscrever no canal para assistir os próximos vídeos!
---------
W3Schools: www.w3schools....
Download do material deste vídeo: drive.google.c...
SQL - Parte 1 | Do Zero às Primeira Consultas com SQL: • Do Zero às Primeiras C...
SQL - Parte 2 | Consultas mais elaboradas com SQL: • Consultas mais elabora...
⬇️ Download do eBook "Como se Tornar um Cientista de Dados?": ebook.letsdata...
✅ Jornada Cientista de Dados! Deixe seu email para saber quando houver novas turmas: www.letsdata.a...
---------
Leon Sólon é bacharel em Ciência da Computação e mestre em Ciência de Dados pela Universidade de Brasília - UnB. Possui mais de 20 anos de experiência na área de TI e mais há mais de 5 anos como cientista de dados. Atualmente é Auditor-Fiscal da Receita Federal (atuando como cientista de dados) e cientista de dados da startup Bludworks.
----------
📸 Nos siga no Instagram: / letsdata.ai
📸 @leon_solon @felipeschiavon @bernardolago
🐦 Nos siga no Twitter: / letsdataai
🐦 @leonsolon @felipeschiavon @bernardolago
Medium: / lets
LinkedIn: / lets-data
✉️ E-mail: contato@letsdata.ai
----------
Ouça nosso podcast nos principais players:
🟣 Spotify: open.spotify.c...
🟣 iTunes: podcasts.apple...
🟣 Google Podcast: podcasts.googl... - วิทยาศาสตร์และเทคโนโลยี
Cara! Você é top! Todos os vídeos de outros professores tenho que assistir 2 ou 3 vezes para entender, o seu é uma vez só,você explica tão bem ,tão didático que até uma criança entende. Sou seu fã. Um abraço!
Valeu demais pelo elogio, Diego!! Muito feliz de saber que ajudamos de alguma forma 💜💜
O mundo precisa te conhecer... voce é um professor incrível!!! Parabens! Amei a suas aulas.
Valeu demais pela força!!!
A melhor coisa do mundo é um professor com didática e ainda por cima NERD.
Hahahha, valeu, Gustavo!! Nerds: estamos dominando o mundo 😂
Leon! É sério Bro! Cheguei cabisbaixo aqui... apesar de adorar a matemática estatística e administrativa etc, já estava achando que não era para mim, só por causa do bendito join... Saio de cabeça erguida e pedindo mais!! Gratidão.
Que massa, Nilson!!! Felizes demais de saber que ajudamos a entender o conceito!!! Amamos o seu relato 😍
join é moleza, foda é quando começa a chegar a parte da programação(triggers, funcions, procedures)
Cara, que didática incrível! Amei a parte do anel
Valeu pela força, Flávia!!! Muito feliz que esse curso esteja ajudando as pessoas a aprenderem SQL :)
Não achei que ia me interessar tanto por Banco de dados kkk. Sua didática é excelente!
Hahaha, que coisa boa! Tá pertinho de terminar a maratona, manda ver!
Simplesmente SENSACIONAL. Ri pra caramba durante a aula, muito divertido e didático
Ninguém merece aula chata 😂
Que massa que gostou: valeu pela força!!
Nossa, você ensina muito bem! Conteúdo muito bem explicado, ótimos exemplos, didática maravilhosa e ainda consegue fazer piada! Muito obrigada por compartilhar!
Eba!!! Que massa que curtiu!!! Conte com a gente!
Leoncio, parabéns pela didática! Você é um excelente professor.
Que massa que gostou!!! Valeu pela força!
Great teacher!!!
Thanks!!!
Aula é ótima, o cara é brabo. A melhor explicação de JOIN que vi. Obrigado!!!!!
Eba! Que massa que curtiu, Esequiel!! Conte com a gente!
Apenas adorando aprender esses conceitos com você! Que didatica maravilhosa! Obrigada por compartilhar o seu conhecimento dessa forma tao bacana.
Que massa que gosta dos nossos vídeos, Gabriela! Obrigado pela força!
Muito bom!
Valeu, mestre!!
Sou mais velho, por isso conheço e aprecio essas bandas. Pode usar Pink Floyd tambem. Ha muitas outras boas. E sua aula é o que há. Tamojunto.
TMJ mestre Flávio! Conte com a gente!
Leon Sólon ensina de uma forma tão leve! Conteúdo de altíssima qualidade.
Valeu demais!!! Tá quase no final da playlist! Depois pode pular pro Python :)
Monstro, preocupação com o aprendizado do aluno em 1º lugar sempre, Obg!
Valeu, mestre Anderson!! Vamos aprendendo juntos 🙌🏻
Muito bom...
Valeu!!
Excelente profissional, ótima didática.
Valeu, Deilson!!
EXCELENTE
Opa que tá maratonando legal, obrigado!!!
Muito boa sua aula prof, leve, aprendizado interessante, fluido! Parabéns!
Que massa que curtiu, Soraya!! Obrigado!
Cara muito bom, otimo professor
Valeu demais!!
Obrigado!!
Por nada! Conte com a gente!!
Pensei q o SQL fosse um bicho de sete cabeças, mas pelo visto ele é bem simples. Obrigado por essa aula.
isso não é uma unha do que é sql kkkk
@@victordomingues6882 Só oreciso saber o básico afinal não queri ser cientista de dados, mas sim dev back-end
O curso inteiro já dá um ótimo caminho pra quem está começando! Pratique bastante pra ter as próprias dúvidas e fazer as próprias consultas!
Senti falta de colocar em prática esses aprendizados juntos com você nessa aula
Essa aula é realmente mais teórica! Faça perguntas a você mesmo de relatórios interessantes que relacionem as vendas, com produtos, fornecedores.
Transmitindo conhecimento de forma prática e fácil. Parabéns!
💜💜 Valeu, César!! Conte com a gente!
Sua didática é show, adoro seus vídeos! Obrigada!!
Valeu demais, Giovana!! Conte com a gente!
Professor obrigado pelo conteúdo.
Valeu, mestre!!
Top de mais, que energia boa e comprometimento com o educacional, obrigado pelo vídeo!
Valeu!!!
suas aulas São incríveis!! obrigada
Obrigado pela força!! Conte com a gente!
Mais um vídeo maravilhoso! Obrigada!
Que bom que curte nossos vídeos!! Conte com a gente!!
Gratidão pela aula!!!!!!!!!!!!!!!!!!
\o/
Conte com a gente!
Muito boa a sua didática!!
Valeu pela força!!
Parabéns pela didática. Estou acompanhando desde a parte 1 e me surpreendi como um conteúdo super novo pra mim entrou com tanta facilidade na minha cabeça kkkkk Leon arrasa no ensino!
Muito obrigado, Taís!! Valeu pela força e continue maratonando, conte com a gente :)
Cara.... Você é fera! Muito obrigado pelo seu conteúdo
A gente que agradece, Éder!! Obrigado pela força!
Que maravilha, estou maratonando, 1 vídeo a cada dia, pra fixar bem. Já estou ansioso para a última aula amanhã. Abraços
Eba!!! Que bom que está aproveitando!
bom pra ensinar top
Valeu!!!
Caraca, foi dificil de achar esse canal para salvar minha vida kkkkk, Uma mentoria deve valer milhoes
Hahahaha, que bom que nos encontrou!! Valeu pela força e conte com a gente!! Se quiser conhecer um pouco mais do nosso trabalho:
pay.hotmart.com/F87431977R?checkoutMode=10&bid=1697215633673
Muito obrigada! excelente didática, clara e objetiva.
Valeu, Joice!!! Aproveita pra terminar a playlist :)
Tu é incrível!
Valeu demais, Victor!! Conte com a gente!
adorei seu video, muito intuitivo
Valeu, Elton!! Conte com a gente!
Eu termino uma aula, ansiosa pela outra, é demais Leon e com rock é melhor ainda🤘
Que massa, Valquíria! Tá maratonando mesmo!! :)
Muito obrigada pela didática! Comecei um estágio em Dados e estamos usando o Metabase e preciso aprender esse bendito Join kkk.
Manda ver que vai aprender direitinho! Boa sorte e conte com a gente :)
Boa
Valeu!
Leon, sua didática é ótima. Parabéns!!!
Muito obrigado, Juliano! 😃 Bons estudos pra você! 👍🏼👍🏼👍🏼
Curso excelente :) A didática e os exemplos são muito bons!
Valeu, Haniel!! Já terminou o curso? Conte com a gente!
@@letsdataAI estou indo para a última aula 😁
Excelente conteúdo, didática nota 1000.
Obrigado por compartilhar conosco um pouco do seu conhecimento🙏
Valeu pelo elogio e pela força!! Conte com a gente :)
Excelente aula prof. muito didático. Parabéns
Obrigado, Thales!! Que bom que gostou!
Muito bom!! ☺☺
Valeu, Rebeca!! Conte com a gente!!
Muito bom
Valeeeeu! 🙌🏻
Começando agora nesse universo da SQL, com uma leeeeve noçãozinha das queries do Sheets, mas tá super show a abordagem do conteúdo. Estou fazendo um resumo das aulas e estudando materiais de apoio conforme acompanho o conteúdo dos vídeos. Parabéns, muito bacana a iniciativa e a didática!!!
Obrigado, Galde! E bons estudos aí pra você! 😃
15:58 - Está escrito na língua impronunciável de Mordor. No mais, grande aula.
Aeee!! Tolkien fans everywhere 🙌🏻
Tô achando as aulas muito produtiva
Que bom, José Roberto! Conte com a gente!
Estou começando um curso de dba e estou aprendendo mais com vc do que no curso.😢
Não desista!! Conte com a gente nessa caminhada!
Não desista!! Conte com a gente nessa caminhada!
Leon, estou muito contente com suas aulas e com os detalhes que você se preocupa em passar de forma o mais claro possível. Estarei na aula 4 e ficarei esperando mais coisas referente a SQL .
Que bom, Luciano! Está maratonando! Depois do SQL já emenda no python!
Excelente Leon ! Estou fazendo o curso gratuito do Udacity e reforçando com a sua playlist. Um abraço.
Obrigado, Luís Cláudio!! Que bom que estamos ajudando!!
ESTOU COMEÇANDO AGORA
Que bom!
A "tradução" do anel foi brilhante 😂
Hahahaha, tudo pra ter atenção de vocês pra assuntos importantes :)
Nunca mais esqueço a definição 💍
Mto da hora sua aula! Virei seu fã!! :D
Valeu, Rogério!! Ficamos muito felizes por ter gostado ❤️
Pessoal, ao final da playlist coloquem um projeto em sql para portifólio
Ótima ideia!!
Let´s goparte 3
Está fechando a playlist ein Proemanuel! Show de bola!!! 👏👏👏
didatica é tudo, estava achando do capeta esse tal de join , obrigada pela explicação e passagem de conheço !! :)
Eba!!! Conte com a gente sempre pra desmistificar o mundo de dados e tecnologia :)
Amigo seus vídeos são muito bons e aprendi muito, estou iniciando no MySQL e Delphi fazendo um sistema escolar me deparei com uma situação e alguns dias pesquisando não acho nada para ajudar. Se vc puder me dar uma luz fico agradecido. Tenho 3 tabelas uma com notas de matemática onde tem as colunas id_aluno e nota_avaliacao_matematica outra com id_aluno nota_avaliacao_portugues, fiz um select onde soma as duas notas de um aluno específico (tipo id_aluno =1) e divide por 2 até aqui tudo bem. Agora tenho uma terceira tabela que tem as seguintes colunas id, pontuacao1, pontuacao2, descrição.
Continuando. Linha 1 : id=1, pontuacao1=9,00, pontuacao2 =10,00, descrição= excepcional. Linha 2: 2 , 8,00, 8,99, muito bom. Linha 3: 3, 7,00, 7,99, bom. O que precisa agora é pegar o resultado daquela primeira consulta buscar nessa linha onde se enquadra e apresentar a descrição. Espero ter conseguido explicar
Será algo assim?
SELECT descricao
FROM tabela3
WHERE (SELECT (SUM(nota_avaliacao_matematica + nota_avaliacao_portugues) / 2) AS media
FROM tabela1
WHERE id_aluno = 1) BETWEEN pontuacao1 AND pontuacao2;
colocou Tolkien ja era, ganhou totalmente meu respeito e coração KKKKKKKKKKKKKKKKKKKK
Hahahah! "You shall not paaaaaaaaass", mentira, pode passar :D
Que massa! Amei as aulas! vai dar mais aula 06 em breve?
Tem a aula 04 dessa série e uma de window functions! Dá uma olhada!!
Falando em nomes de tabelas e colunas, eu lembrei do SAP com a maldição do Hana!! Kkkkkkk
Mas brincadeiras a parte.. Top de mais sua aula, conteúdo muito bem mastigadinho, leve e divertido de se assistir
Hahaha. Valeu, Gustavo!! A gente fica feliz por perceber nosso cuidado em deixar tudo bem palatável :)
Boa noite
.
Você termina uma aula e já quer outra!
Hahaha, que bom! Tá maratonando forte 🙌🏻
Day 3 Aula 3!
On fire!! 🔥
Olá, boa noite!
Seria possível receber as slides deste curso básico de SQL por e-mail? Os links não funcionam mais e gostaria muito de obtê-los. Sei que já tem dois anos do lançamento, mas, achei muito interessante o conteúdo.
Desde já, obrigado pela atenção.
Valeu pela força!!! Manda um email no contato@letsdata.ai que a gente te envia :)
Eu agradeço muito o retorno e mandarei sim o e-mail. Parabéns pelo ótimo conteúdo e pela atenção aos inscritos. Um abraço a todos.
Leon, tem algum lugar que posso praticar esses ensinamentos? com tabelas disponíveis para fazermos perguntas de negócios?
Tem sim! Procura os sites Leetcode e HackerRank
Boa tarde !!!
Leon vc é professor? Ensina on line particular ?
Abraços
Tudo bem, Mércia! Já estamos em contato no Instagram :)
Muito Boa as aulas!
Tanto que, com o que foi ensinado até a aula 3 já deu para responder esse desafio sobre fundamentos SQL.
th-cam.com/video/0ieej-1YqKk/w-d-xo.html
Fica de dica para quem quiser se testar e fixar melhor o conteúdo. Me deixou mais animado a aprender, vendo que já peguei o conteúdo até aqui.
Bora pra Aula 4!
Que massa que gostou, Leandro!! Conte com a gente!
Cara, muito TOP , ótima didática e excelente conteúdo ! Mas se me permite uma sugestão, "até construtiva", está muito cansativo ver mais de 1 hora de vídeo. Seria legal e menos cansativo se os vídeos tivessem somente cerca de 20 a 30 minutos. Até porque não dá pra impedir as malditas propagandas no meio das aulas que tiram nosso foco e quanto maior o vídeo ,mais propagandas tem . A menos que sejamos assinantes do TH-cam Premium, o que não é meu caso e nem o da maioria ! Mas...#ficaadica!
Valeu, mestre!! Boa sugestão! Na nossa Jornada Cientista de Dados os vídeos são bem curtos :)
41:34 ja pode cair isso nos concursos! haha
Hahahha, se cair já acertou!! 🙌🏻
Professor, toda vez que entro pra assitir os vídeos tenho de me inscrever novamente! O TH-cam fica me desinscrevendo.
Eita!! Continua acontecendo?
@@letsdataAI aconteceu 3 vezes, mas agora não mais!!!
boa noite senhor professor peço aula sobre join e como usar?
Não entendeu a aula, mestre? Abraços
Preciso melhorar a peformance do meu comando, poderia me dar alguma dica?
Segue o comando:
SELECT DISTINCT T.EMPRESA AS "ENTIDADE",
T.MATRICULA AS "MATRICULA DO SERVIDOR",
T.DTADMISSAO AS "DATA DE ADMISSÃO DO SERVIDOR",
T.NOME AS "NOME DO SERVIDOR",
T.CPF AS "CPF SERVIDOR",
T.DTNASCIMENTO AS "DATA DE NASCIMENTO DO SERVIDOR",
T.SEXO AS "SEXO DO SERVIDOR",
-- IDENTIFICAÇÃO DO CARGO DO SERVIDOR --
CAST(COALESCE((SELECT '(' || C.NOME || ')' || ' CBO ' || '[' || CAST(C.CBO AS VARCHAR (50)) || ']'
FROM CARGOS C
WHERE T.CARGOATUAL = C.CODIGO
AND T.EMPRESA = C.EMPRESA), 'CARGO NÃO LOCALIZADO') AS VARCHAR(100)) AS "NOME DO CARGO",
-- IDENTIFICAÇÃO DO VINCULO DO SERVIDOR --
CAST(COALESCE((SELECT UPPER(V.NOME)
FROM VINCULO V
WHERE T.VINCULO = V.CODIGO
AND T.EMPRESA = V.EMPRESA), 'VINCULO NÃO IDENTIFICADO') AS VARCHAR(150)) AS "NOME DO VINCULO",
-- VERIFICAÇÃO DA IDADE DO SERVIDOR --
CAST(CASE
WHEN T.DTNASCIMENTO IS NULL AND T.SEXO IS NULL THEN 'DATA DE NASCIMENTO VAZIA E SEXO NÃO INFORMADO'
WHEN T.DTNASCIMENTO IS NULL AND T.SEXO IS NOT NULL THEN 'DATA DE NASCIMENTO VAZIA'
WHEN T.DTNASCIMENTO IS NOT NULL AND T.SEXO IS NULL THEN 'SEXO NÃO INFORMADO'
ELSE (SELECT FIRST 1
FLOOR(DATEDIFF(YEAR, T2.DTNASCIMENTO, CURRENT_DATE))
FROM TRABALHADOR T2
WHERE T.REGISTRO = T2.REGISTRO
AND T.EMPRESA = T2.EMPRESA)|| ' ANOS'
END AS VARCHAR(100)) AS "IDADE",
CAST(CASE
-- REGRA APOSENTADORIA PROFESSOR HOMEM --
WHEN T.SEXO = 'M'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) < CAST(55 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) < CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN COALESCE(CAST(CAST(55 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) || ' - ANOS','APOSENTADO')
--REGRA APOSENTADORIA PROFESSOR HOMEM (DIREITO ADQUIRIDO --)
WHEN T.SEXO = 'M'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) = CAST(55 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) = CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN 'DIREITO ADQUIRIDO'
-- REGRA APOSENTADORIA PROFESSSOR MULHER --
WHEN T.SEXO = 'F'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) < CAST(50 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) < CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN COALESCE(CAST(CAST(50 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) || ' - ANOS','APOSENTADO')
--REGRA APOSENTADORIA PROFESSOR MULHER (DIREITO ADQUIRIDO --)
WHEN T.SEXO = 'F'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) = CAST(50 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) = CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN 'DIREITO ADQUIRIDO'
-- REGRA DE APOSENTADORIA POR IDADE HOMEM --
WHEN T.SEXO = 'M'
AND CAST(CAST(65 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) < CAST(65 AS INTEGER)
AND CAST(CAST(35 - FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) < CAST(35 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') T.CARGOATUAL
THEN COALESCE(CAST(CAST(65 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) || ' - ANOS','APOSENTADO')
-- REGRA DE APOSENTADORIA POR IDADE MULGER --
WHEN T.SEXO = 'F'
AND CAST(CAST(60 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) < CAST(60 AS INTEGER)
AND CAST(CAST(30 - FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) < CAST(30 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') T.CARGOATUAL
THEN COALESCE(CAST(CAST(60 - FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(10)) || ' - ANOS','APOSENTADO')
-- REGRA PROFESSOR APOSENTADO HOMEM--
WHEN T.SEXO = 'M'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) > CAST(55 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) > CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN 'SERVIDOR APOSENTADO'
-- REGRA APOSENTADO HOMEM --
WHEN T.SEXO = 'M'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) > CAST(65 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) > CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') T.CARGOATUAL
THEN 'SERVIDOR APOSENTADO'
-- REGRA PROFESSOR APOSENTADO MULHER--
WHEN T.SEXO = 'F'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) > CAST(55 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) > CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') = T.CARGOATUAL
THEN 'SERVIDORA APOSENTADA'
-- REGRA APOSENTADO MULHER --
WHEN T.SEXO = 'F'
AND CAST(FLOOR(DATEDIFF(YEAR, T.DTNASCIMENTO, CURRENT_DATE)) AS INTEGER) > CAST(60 AS INTEGER)
AND CAST(CAST(FLOOR(DATEDIFF(YEAR, T.DTADMISSAO, CURRENT_DATE)) AS INTEGER) AS VARCHAR(30)) >= CAST(10 AS INTEGER)
AND (SELECT FIRST 1 DISTINCT T3.CARGOATUAL
FROM TRABALHADOR T3
INNER JOIN CARGOS C3 ON T3.CARGOATUAL = C3.CODIGO
INNER JOIN TRABALHADOR T ON T3.REGISTRO = T.REGISTRO
WHERE T3.EMPRESA = C3.EMPRESA
AND T3.SITUACAO = 1
AND C3.NOME LIKE '%PROFE%') T.CARGOATUAL
THEN 'SERVIDORA APOSENTADA'
ELSE 'SERVIDOR(A) APOSENTADO(A)'
END AS VARCHAR(30)) AS "TEMPO PARA APOSENTADORIA"
FROM TRABALHADOR T
WHERE T.REGISTRO = T.REGISTRO
-- DISTINÇÃO DO TIPO DE EMPRESA --
AND T.VINCULO IN
(SELECT V.CODIGO
FROM VINCULO V
WHERE V.VINCULORAIS IN (10, 30, 31, 35)
AND V.CODRETDIRF 3533
)
AND T.SITUACAO = 1
ORDER BY T.NOME
Mestre, tente colocar as subconsultas com a clausula WITH. A gente ensina na última parte do curso. Boa sorte!
preciso fazer joins entre 2 tb
cliente
idCLIENTE int AI PK
NOME varchar(30)
CPF varchar(11
endereco
id_endereco int AI PK
RUA/QUADRA varchar(30)
BAIRRO varchar(25)
idCLIENTE int
quero trazer nome e CPF da TB cliente junto com bairro da TB endereco. tem uma luz de como seria o comando?
Fala, Ricardo! Ficaria mais ou menos assim (talvez um CONCAT pra deixar o endereço mais "arrumadinho"):
SELECT cliente.NOME, cliente.CPF, endereco.BAIRRO, endereco.RUA/QUADRA
FROM cliente JOIN endereco ON cliente.idCLIENTE = endereco.idCLIENTE
@@letsdataAI obrigado de coração. entao o CONCAT arruma? oque é mesmo um CONCAT?
O concat concatena strings. No caso do endereço facilita deixar mais fácil a leitura do resultado. Cada banco tem sua sintaxe, mas normalmente é só separar os parâmetros por vírgulas: CONCAT(endereco, bairro, número)
Dá pra melhorar colocando alguma formatação, como espaços em branco ou vírgulas
OLA BOM DIA, NUNCA CONSEGUI BAIXAR OS SLIDES, SABERIA ME DIZER, OK.
Boa! Manda um email pra gente no contato@letsdata.ai
Como faço para imprimir na tela de 1 a 10 no sql , com e sem
Gerar tabela . Obrigada
Respondido no whats! :)
@@letsdataAI Gratidão
Download do material não ta mais disponivel. 😭😭
Manda no nosso email! Abraços! contato@letsdata.ai
Vamos na Linguiça------------------Lá ele 1000x kkkkkkkk
😂😂
a aula foi boa, mas teve muita conversa
.
Fiz uma query bem interessante com seu treinamento usando o w3:
Juntei as tabelas OrderDetails, Orders e Employees para retornar qual funcionario teve o maior numero de vendas
SELECT FirstName, SUM(Quantity)
FROM OrderDetails
JOIN Orders ON OrderDetails.OrderID = Orders.OrderID
JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
GROUP BY FirstName
ORDER BY SUM(Quantity) DESC
Excelente, Gabriel!! Faz muito bem em tentar fazer suas próprias consultas derivadas do curso. Assim você aprende MUITO mais 👏🏻