Para voc profissional programador/desenvolvedor ou estudante! Informao vale ouro e muitas empresas utilizam o SQLServer para armazenar informaes de seus negcios, mas voc como desenvolvedor/programador est preparado para desenvolver solues eficientes tratando alto volume de informaes?Sabe se est realmente preparado para os desafios e o mercado de trabalho que exige cada vez mais de ns, profissionais de TI?Aqui neste curso de SQLServer veremos o que mais importante para voc como desenvolvedor de sistemas: como que eu fao uma query que atenda ao meu negcio e no cause incidentes medida que o negcio cresce e o volume de informaes armazenadas no SQLServer ultrapasse milhes, at bilhes de linhas por dia. Voc aprender aqui no s como montar os comandos, mas como fazer de forma eficiente, utilizando as melhores prticas e principalmente entendendo o que voc est fazendo e sabendo onde poder chegar.O contedo aqui apresentado engloba no s os conceitos, melhores prticas, vrias formas de se atingir o mesmo objetivo, mas tambm conta com os itens que vi uso mais comum nos mais de 15 anos de experincia de mercado com uso de SQLServer. Novidade: Na seo Setup, adicionei mais uma aula mostrando como instalar o SQLServer 2019 no Docker e na seo Colaborao dos Alunos, adicionei mais uma aula sobre CROSSAPPLY e OUTERAPPLY! Itens abordados no curso: Setup - Instalao do SQLServer no Windows 10 como instncia local - Instalao do SQLServer no Ubuntu Server LTS18.04 - (Opcional) Instalao do SQL Server - Docker Desktop - Instalao do SQLServer Management Studio - nossa principal ferramenta utilizada neste curso - Criao de banco de dados de exemploFundamentos - T-SQL: a linguagem SQLproprietria da Microsoft - Processamento lgico: como conceitualmente funciona o processamento de queries pelo SQLServer - Terminologia e boas prticas: presente no curso todo, tanto os termos corretos quanto as dicas de boas prticasTabelas - CREATE: como criar tabelas e quais os cuidados na definio das colunas e constraints - ALTER: como alterar tabelas e quais os cuidados devemos nos atentar - DROP: como deletar tabelas e quais os cuidados devemos nos atentarDML - INSERT: as vrias maneiras de inserir linhas nas tabelas - UPDATE: as vrias maneiras de atualizar valores de colunas nas linhas das tabelas - DELETE: as vrias maneiras de excluir linhas das tabelas - Criao de banco de dados de exemploClusula FROM - Como funciona a primeira fase de processamento do SQLServer - JOINs: as vrias maneiras de relacionar tabelas - Table HINT: o que e quais os cuidados ao forar o plano ao sobrepor a estratgia do query optimizerClusula WHERE - Como funciona a segunda fase de processamento do SQLServer - Converses de valores: vrias maneiras para converter valores e os cuidados que devemos ter para no afetar performance - Sub query: como usar sub query como filtro de linhas e como isso impacta o processamento da query - Contedo adicional: outras maneiras de efetuar converso de valores e operadores especiais para a clusula WHEREGROUPBYe HAVING - GROUPBY: a terceira fase de processamento do SQLServer, para que serve e como usar agrupamentos - HAVING: a quarta fase de processamento do SQLServer, como podemos filtrar linhas j agrupadas - WINDOW FUNCTION: como utilizar todo o poder de processamento de agrupamentos para relatrios analticosSELECT e ORDERBY - SELECT: a quinta fase de processamento do SQLServer, como usar ALIAS e CASE - ORDERBY: a sexta fase de processamento do SQL Server, temos mesmo que ordenar as linhas?Vejamos quando faz sentido - TOPe OFFSET-FETCH: a “stima” fase de processamento do SQLServer, veremos como trabalhar com paginaoSet Operators - UNION, INTERSECT eEXCEPT - UNION: como unir vrias queries em um nico resultset - INTERSECT: veremos como unir queries s que trazendo apenas o que for em comum entre as queries - EXCEPT: veremos como unir queries s que trazendo apenas as diferenas entre as queriesSEQUENCE, OUTPUTe MERGE - SEQUENCE: veremos como usar este objeto “poderoso” como alternativa ao auto-incremento - OUTPUT: podemos trabalhar com o resultado de queries (output) servindo de insumo (input) para outros usos que no somente devolver o resultset ao cliente - MERGE: sabia que possvel partir de uma origem e destino fazer INSERT, UPDATE e DELETEcom apenas 1 query? Veremos como usando MERGEVIEWS, FUNCTIONSe SYNONYMS - VIEWS: como construir consultas reutilizveis e as formas de obscurecer a consulta original - FUNCTIONS: como construir funes em que podemos passar parmetros para termos os resultados de forma reutilizvel - SYNONYMS: como os sinnimos nos ajudam a facilitar o uso de objetos no banco de dadosPROCEDURESe TRIGGERS - PROCEDURES: precisa efetuar um processamento batch? Vamos ver como as procedures nos ajudam quando precisamos executar vrias etapas - TRIGGERS - AFTER: vamos entender como funcionam os gatilhos no SQLServer aps INSERT, UPDATEou DELETE - TRIGGERS- INSTEADOF: sabia que possvel fazer INSERT(por exemplo) em cima de uma VIEW?Vamos ver como com TRIGGERTransaes, tratamentos de erros e queries dinmicas - Transaes: como funci