fale impressionador sejam muito bem-vindos e muito bem-vindas ao nosso curso de SQL para iniciantes Esse é um curso completo Sejam muito bem-vindos Pera aí que eu tava com meu áudio ligado aqui peço desculpa já começando aí né Com Essa pérola Mas vamos lá vamos lá voltando aqui sejam muito bem-vindos e muito bem-vindas aí a nossa Live de SQL pra gente poder tratar aí sobre um curso básico de SQL curso completo aí para iniciantes então a ideia desse curso aqui é a gente conseguir trazer para vocês Qual que é o contexto geral aí do SQL né
Para que por que aprender SQL porque que é importante aprender SQL principalmente para quem quer trabalhar na área de dados né de análise de dados ciência de dados né Business intelligence programação enfim o SQL ele é extremamente importante né para você que trabalha na área de dados ou para você que quer trabalhar na área de dados e para você também que não faz ideia do que que é o SQL caiu aqui de paraqueda A ideia é a gente conseguir né apresentar para você essa oportunidade e claro né a gente praticar bastante aqui e entender como
é que o skl pode ajudar a gente aí nesses nossos objetivos profissionais Fechado então vamos dar início aqui ao nosso curso de SQL para iniciante primeiramente preciso dizer que a ideia de trazer esse curso aqui para vocês é que você para que vocês possam entender como é que o SQL eh ele pode ser muito importante para você por mais que você não saiba exatamente do que que ele se trata eu quero trazer aqui né um contexto geral sobre a linguagem SQL sobre a importância de aprender essa linguagem e como a gente utiliza essa linguagem na
prática o meu objetivo aqui no final dessa aula é que você consiga sair daqui dominando ali pelo menos a parte mais Inicial né do SQL como criar consultas como fazer análises de dados simples aí no skl mas que você já pode aplicar no teu dia a dia e já começar a ter resultado Tá bom então vamos lá vamos dar início aqui quero começar dizendo qual vai ser a programação dessa aula O que que você vai aprender nessa aula eu já adianto que essa aula vai ser uma aula bem completa mesmo tá o objetivo é que
ela seja um curso completo aí para iniciante eu vou dividir essa aula em quatro blocos tá Como é que vai funcionar como é que vão funcionar esses quatro blocos primeiro deles vai ser uma introdução e um contexto geral do SQL então A ideia é que você possa entender aqui né mais importante do que você entender sobre eh utilizar o SQL na prática é você entender Qual que é o contexto do SQL na sua vida tá Te garanto que o SQL ele pode estar muito mais presente no teu dia a dia do que você imagina eu
quero dar uma introdução e um contexto geral do SQL nesse primeiro bloco no segundo bloco Eu quero ir para um programa de banco de dados eu vou utilizar o MySQL e eu quero já começar a criar os primeiros códigos em SQL com vocês daqui a pouco você você vai entender quais vão ser os códigos que você vai aprender no terceiro bloco A ideia é que você aprenda a fazer análise de dados no SQL como é que você pode utilizar comandos ali para fazer consultas e análises você já pode aplicar no teu dia a dia já
começar a ter resultado Depois dessa aula e para fechar eu quero te mostrar como criar bancos de dados tá utilizando aí também comandos que vão ser muito úteis pra gente conseguir fazer isso daí então esses são os quatro blocos mas de forma mais específica né O que que você vai aprender se você ficar até o final aqui comigo bom no primeiro bloco como eu falei A ideia é a gente dar uma introdução geral né na no SQL na linguagem SQL e a gente vai falar sobre o que que são bancos de dados né O que
que é o SQL E como que o SQL funciona quais são os tipos de SQL Qual o SQL aprender e por aprender SQL esse contexto é extremamente importante para que eu não comece aqui simplesmente te jogando um monte de código na tela e você não entender exatamente Tá mas para que que eu vou utilizar isso daí né Por que que eu tô aprendendo isso então A ideia é começar dando esse contexto geral no segundo bloco A gente vai criar os nossos primeiros códigos em SQL onde nós vamos entender né como é que é o funcionamento
de um sistema de banco de dados né comandos básicos de consulta select distinct limit Order by Como trabalhar com filtros filtros weare Como utilizar operadores ali em conjunto em conjunto com filtros né em conjunto com filtros para que a gente possa potencializar o uso ali dos Filtros em SQL então é utilizar o and o or in between like e assim vai no bloco três no bloco três a gente vai falar sobre análise de dados no SQL n e nós vamos aprender mais alguma série de comandos para aplicar isso daí né Eh em alguns exemplos que
eu vou mostrar aqui para vocês então como fazer cálculos no SQL Como utilizar funções de agrega ação como count para fazer Contagem Sam para fazer soma AVG para fazer média min Max e assim vai a gente vai falar também sobre group by para criar agrupamentos vamos falar de join um conceito extremamente importante também aqui dentro do SQ na parte de relacionamento de tabelas vamos entender melhor o que que é uma tabela fato tabela dimensão chave primária chave estrangeira subqueries e views tá no bloco quatro a gente vai fechar aí com a criação de banco de
dados a gente vai falar sobre tipos de D constraints e comandos para criação ali de tabela inserir dados fazer atualizações e assim vai fechado no final a gente faz uma revisão uma série de exercícios também para garantir que vai ficar tudo Claro e que você vai conseguir aplicar ISO aí também no final da aula praticando aí com esses exercícios Fechado então vamos começar aqui com a nossa introdução e contexto geral do SQL Bom vamos lá importante te dizer por que eu vou começar dessa forma até para que você tenha mais clareza da linha lógica de
estudo aqui que a gente vai trazer para você nesse curso de SQL para iniciantes eh Eu particularmente tá gosto muito de aprender um pouco de história e de contexto geral das coisas para eu poder entender o por que eu tô aprendendo determinada coisa ou porque eu estou em determinada situação né a gente aprendeu um pouco de história um pouquinho de contexto geral ajuda a gente a a entender o porqu que a gente tá passando pelo que a gente tá passando ou por aprender determinado conhecimento e com esql não é diferente tá eh Provavelmente você que
tá assistindo esse essa aula Você já tentou assistir SQL e já teve algum nível de dificuldade ali para aprender né porque uma das coisas que é são muito comuns ali para quem começa a aprender SQL é se deparar com um monte de SQL né então tem o MySQL tem o post gre SQL tem o SQL server enfim tem um monte de SQL E aí a gente né leigo não Sabendo exatamente do que que se trata a gente acha que é um negócio muito complexo muito difícil mas não é bem assim tá é muito mais fácil
do que você imagina só que para você ter esse esse entendimento eu gosto de trazer esse contexto geral porque ajuda a gente a entender melhor o contexto que a gente tá E por que a gente vai aprender SQL e também entender que ele não é tão difícil quanto a gente imagina Tá então vamos começar aqui tá eu vou começar de um jeito bem simples tá para conseguir te pegar ali pela mãozinha e te carregar aí até o momento que a gente vai efetivamente criar os códigos dentro do SQL vamos lá vamos falar um pouco de
um dia como o outro qualquer na tua vida tá então pensa no Instagram tá sabe o Instagram bom imagina que você utilize o Instagram né quem não usa Instagram hoje em dia alguns mais outros menos mas todo mundo sabe o que que é o Instagram e já usou em algum momento Então pensa no Instagram tá e pensa também ó imagina que você tá lá rolando o teu feed e aparece a foto né Desse cachorrinho simpático chamado tuck eu sigo ele gosto muito tá muito simpático gosto de cachorros inclusive né O que mais aparece no meu
feed é coisa de cachorro mas enfim imagina que você se deparou com esse cachorrinho simpático na tua tela do Instagram e você vai lá e dá um like né um like na foto e para você é algo normal natural né dar likes em fotos mas faço o meu primeiro questionamento aqui com vocês né A primeira reflexão quando você dá uma curtida em uma foto o que que você acha que acontece com essa curtida que você acabou de dar nessa foto ou nesse vídeo que que você acha que acontece com ela bom tudo o que a
gente faz no Instagram no final das contas é convertido em dados né O que você acabou de fazer quando você deu um like numa foto do Instagram nada mais é do que dar um dado seu para o Instagram um dado sobre você um dado sobre os seus gostos e seus interesses e de alguma forma o Instagram vai fazer alguma coisa com isso tá então não pense que o like que você dá numa foto o Instagram não faz nada com isso né esse like é uma informação é um dado que vai algum lugar é um dado
sobre você e aí éo comum né as pessoas estarem lá meendo no Instagram e aí começa a aparecer um monte de foto de cachorro e a pessoa F assim caramba mas só aparece coisa de cachorro para mim N E aí de repente começa a aparecer ali sei lá uma um perfil de um veterinário ou de um pet shop E aí você começa a falar assim caramba eu acho que o Instagram tá me ouvindo porque Pô eu tenho aqui um cachorro falei dia desse com um amigo meu que eu prava ir no pet shop Apareceu um
negócio de pet shop aqui para mim e aí a gente começa a criar teorias da da Conspiração né não porque o Instagram Me ouve não porque né Eu falei que eu precisava de um pet shop e apareceu no meu feed magicamente verdade não é isso que acontece né na prática quando você dá um like né quando você compartilha algo relacionado à aquele tema e você faz isso com com muita frequência a inteligência do Instagram fazendo a leitura dos teus dados vai conseguir entender Quais são os seus gostos Quais são os seus interesses e consequentemente né
te mostrar informações relacionadas aquilo tá E aí eu deixo até de exercício aí né de desafio para você depois dá uma olhadinha no teu Instagram e ver o que que mais aparece lá provavelmente que mais aparece no teu recomendado é possivelmente coisas que estão relacionadas aos seus gostos aos seus interesses por quê Porque você dou likes compartilhou e Instagram vai fazer isso daí né vai te mostrar cada vez mais informações não é mágica é simplesmente o Instagram armazenando seus dados armazenar aquelas informações sobre você e convertendo em alguma coisa no caso te mostrando mais e
mais e mais perfis daquele tipo para que você possa passar cada vez mais tempo ali dentro tá então na prática né tudo que a gente faz no Instagram por exemplo é convertido em dados tá E esses dados eles vão ser armazenados em algum lugar vão ser analisados E para isso né V ter algum objetivo ali específico que vai ser feito com eles tá bom Então pessoal eh os dados eles estão presentes no nosso dia a dia de uma forma que às vezes a gente nem percebe né um like que você dá numa foto no Instagram
não deixa de ser um dado que você acabou de deixar ali pro Instagram ele vai fazer alguma coisa com aquilo para você né só que isso não se resume apenas ao Instagram né O que a gente mais vê por aí né são eh streamings né aplicativos que também fazem uso dos nossos dados com Algum objetivo específico né então por exemplo Netflix né você começa a assistir conteúdos relacionados a realties de culinária vai chegar um determinado momento que o o a Netflix vai fazer o quê Se ela lançar um novo uma nova série sobre culinária ela
vai te recomendar uma série de terror ou uma só aquela série sobre culinária po te recomendar aquilo que faz mais sentido a partir do que você assiste a partir do que você consome é a mesma coisa com o Spotify se você coloca o Spotify lá no módulo aleatório ele provavelmente vai colocar para você músicas muito parecidas com eh músicas que você gosta de ouvir né se você é uma pessoa que ouve muito rock né E você coloca no aleatório vai ser meio estranho se do nada parece sei lá um sertanejo para você né mas por
quê Porque todas essas informações que você deixa pro aplicativo para aquele programa elas são processadas de alguma forma porque elas são D e esses dados vão ser convertidos em alguma ação ou te mostrar cada vez mais perfis né de eh cachorros de animais no teu instagram ou te recomendar cada vez mais séries associadas ao teu gosto na Netflix né ou fundos de investimento que estejam mais adequados ali com o teu perfil de investidor tô falando agora da XP por exemplo e assim vai tá bom então os dados Pessoal estão mais presente no nosso dia a
dia muito mais do que o que a gente imagina tá só que a nossa relação com dados ela é muito ela vai muito além do que o nosso pessoal tá a relação com dados ela vai eh muito além independente da área que você trabalha Tá então não importa qual área você trabalha os dados eles estão lá tá então não interessa se você é da área de Finanças e contabilidade da área de direito da área de medicina da área de engenharia da área de saúde da área de Publicidade enfim não importa qual é área que você
trabalhe os dados estão lá tá percebe o onde eu quero chegar Então olha só o essa aula aqui no final das contas é um curso de SQL né mas eu tô começando a falar sobre algumas coisas que talvez você não esteja conectando tanto mas Perceba o seguinte né o que eu quero trazer aqui para vocês é que a nossa vida ela gira muito em torno de dados de informação tá e você vai pegar esse link daqui a pouco quando eu avançar um pouco mais mas entenda isso dados estão no nosso dia a dia muito mais
presentes ali do que a gente imagina não só no Nosso pessoal como também no profissional então se você da área de de Finanças por exemplo você vai ter que fazer controle de né de fluxo de caixa né entradas e saídas faturamento receita é se você daárea de direito Ah não pera aí eu sou da área de direito então eu só vou advogar não preciso disso não na verdade você como da área de direito você tem clientes né você tem processos a acompanhar você tem datas né a prazos a cumprir e tudo isso precisa ser controlado
ah eu sou da área de medicina não não preciso de de informma de dados não muito pelo contrário se você da área de medicina você é sei lá você é um ortopedista você tem clientes você faz cirurgias né você tem datas em que você precisa né participar de uma cirurgia você prescreve medicamentos então todas essas informações elas estão ali Independentes da sua área Fechou então muito importante você ter ISO mente Independente da sua área você vai lidar com dados eles vão estar lá e tem uma frase que eu gosto muito aqui que é uma frase
que diz que o dado é um novo petróleo que que significa isso né o petróleo ele é um recurso que é escasso mas um recurso extremamente importante disputado né no nosso cenário Mundial né inclusive existem guerras por causa disso e o petróleo é algo extremamente importante mas tem eh pessoas que começam a dizer que o dado ele é o novo petróleo por quê Porque o dado ele e cada vez tem ganhado ganhado mais importância e quem sabe lidar com dados quem sabe manipular as informações né Tem muita vantagem então por isso que essa frase é
muito interessante porque ela diz que hoje eh ter a informação ter o dado né é tão importante quanto por exemplo recursos né como o petróleo que é algo extremamente importante mas claro isso se você souber armazenar e manipular os dados da forma correta então olha só percebe onde eu quero chegar eu comecei falando sobre um dia como outro qualquer na nossa vida no Instagram tô acessando lá um perfil qualquer aparece uma foto eu dou uma dou um like E aí eu disse que esse like ele gera um dado uma informação sobre você esse dado vai
ser armazenado em algum lugar dentro desse lugar alguma coisa vai ser feita para que aquele dado seja compreendido e interpretado e você vai ter algum retorno a partir daquela interpretação no caso o Instagram vai te mostrar cada vez mais eh perfis ou informações relacionadas àquele teu gusto né e depois eu falei sobre os dados fazerem parte não só do nosso dia a dia pessoal mas também do profissional Independente da sua área você precisa armazenar dados você precisa manipular dados né e acabei de chegar aqui no ponto de dizer que o dado é o novo petróleo
por quê Porque o dado é tão importante né é um recurso é um bem tão important como qualquer outro talvez até mais importante do que dinheiro do que o próprio petróleo mas ele é tão important quanto desde que a gente consiga armazená-lo e manipular esses dados da forma correta então percebe onde eu tô querendo chegar mas vamos lá vamos continuar aqui para onde vão esses dados no final das contas né primeiro ainda um pouco sobre contexto geral né durante muito tempo dentro das empresas os dados eram armazenados em cadernos em folhas de papel em pastas
ou arquivos como esse daqui tá então não sei se você já viu isso daqui não sei né Quantos anos você tem ou qual é a tua experiência aí mas eu pelo pelo menos lembro de quando eu era bem pequenininho né o meu pai tinha um um trombolitica nas empresas justamente para armazenar dados armazenar informações então antigamente né era assim que a gente armazenava as informações né Imagino que você lembra também aí da sua sei lá do seu pai da sua mãe quando você era criança né dependendo da sua idade se usava aqueles caderninhos de telefone
Sabe aqueles eh agendas telefônicas E aí a pessoa ia lá escrevia aquele aquele telefone guardava aquela informação ali você usava caderno folha de papel e era assim que a gente utilizava era assim durante muito tempo ainda é mas a gente tem hoje tecnologia né mas antigamente não era assim os dados eram armazenados de maneira física né só que com o tempo com o surgimento da tecnologia a gente começou a utilizar eh foi criado o computador né e passou-se a utilizar computadores para armazenar esses dados né dentro do que nós chamamos de bancos de dados então
o banco de dados né Agora tô começando a chegar nos termos mais técnicos aqui do es mas um banco de dados ele vai ser basicamente um lugar onde nós vamos centralizar os nossos dados dentro de tabelas do nosso computador tá E aí com esses bancos de dados passou a ficar muito mais fácil e rápido de acessar as informações Então imagina antigamente uma empresa precisava de uma sala de almoxarifado enfim de depósito que tinha arquivos e arquivos né pastas e mais pastas isso ocupava espaço né ocupava espaço né espaço é um recurso eh caro ela ocupava
tempo das pessoas também imagina você procurar as informações ali numa pasta num arquivo que por mais que fosse organizado dava um certo trabalho e você tinha que eh procurar e depois organizar tirava do lugar depois colocava de novo dava um certo trabalho então quando a gente sai de um mundo físico para o mundo Lógico né de tecnologia tudo fica muito mais fácil então saio de um arquivo de aço que ocupa muito espaço para um computador que né enfim 500 G um computador oup você consegue armazenar muita informação tá então em resumo né O que que
são os bancos de dados banc de dados são conjuntos de tabelas né e nessas tabelas nós vamos vamos guardar informações ali dentro e essas tabelas elas vão ter alguma relação entre si tá então percebe de onde eu estou saindo e onde eu tô começando a chegar a gente começou a falar sobre dados né dados que são gerados no nosso dia a dia só que onde esses dados são armazenados durante muito tempo esses dados eram armazenados em cadernos folhas de papel pastas só que em determinado momento a gente migrou né Para Um cenário mais tecnológico e
ali dentro a gente começou e dentro de um computador a gente passou a armazenar essas informações através né de banc de dados que são compostos por tabelas que se relacionam entre si e que armazenam informações sobre pessoas lugares ou coisas né E esses dados organizados eles permitem que a gente consiga ter uma melhor compreensão daquelas informações e conseguir eh tirar eh conclusões ou fazer análises de negócio né tomada de decisão de uma maneira muito mais eh otimizada tá então vou dar um exemplo aqui de banco de dados né Então imagina o banco de dados no
Hospital trouxe aqui um exemplo bem enfim é diferente né Para você que é da área de saúde fala assim não mas esse negócio aí de dados não é para mim não tem nada a ver imagina que você né vai criar um banco de dados no hospital quais informações o hospital precisa armazenar bom o hospital precisa armazenar a tabela de pacientes né informações de pacientes então o paciente ele vai ter um CPF ele vai ter um nome ele vai ter uma idade além de uma tabela de paciente você também vai precisar armazenar consultas né uma tabela
com informações de consultas então a data daquela consulta né sobre o que que foi aquela consulta Qual foi o médico que fez aquela consulta Qual foi foi o paciente daquela consulta ou então uma tabela de médicos né Você precisa organizar os médicos do do teu Hospital Então qual é o CRM né Qual é a identificação desses médicos Qual que é o nome do médico Qual que é a especialidade e também vou precisar de uma tabela de prescrições né um médico ele prescreve medicamentos então vou ter lá qual foi a consulta que foi feita Qual foi
o medicamento prescrito qual é a dose prescrita então Esso aqui é um exemp exemplo de banco de dados tá eh de um de uma área que a princípio né algumas pessoas podem achar que não tem nada a ver com dados mas na verdade tem Então esse é um exemplo de banco de dados um banco de dados vai ser um lugar onde nós vamos armazenar dados através de tabelas tá tem esse um exemplo aqui tá mas beleza entendemos aí o que que é um banco de dados entendemos que os dados eles são armazenados dentro desses bancos
de dados né dentro de computadores mas como é que a gente faz para acessar essas informações né De que forma eu consigo acessar aquelas informações dentro do computador para conseguir saber as informações de clientes informações de pacientes informações de de de medicamentos e assim vai como é que a gente faz isso bom antigamente a gente precisava né de alguém né lá na na salinha pra gente falar ó o o Josimar Preciso das informações aí de clientes do Estado de São Paulo Me dá essas informações que que o Josimar ia fazer ele ia lá no Arquivo
ele puxava aquela gaveta né pesada com aquele monte de pasta Ah quero os clientes são do Estado de São Paulo aí ia lá procurando pá pegava uma pasta entregava lá pra pessoa e falava tá aqui as informações de clientes aí o comercial ia lá pegava aquelas informações começava a ligar isso quando as informações eram armazenadas de forma física mas agora dentro de um computador como é que a gente faz para acessar aquelas informações né dentro de um computador como é que eu faço para dizer pro computador computador eu quero as informações dos clientes que são
do Estado de São Paulo ou eu quero as informações dos clientes da das lojas eh do Estado de Minas Gerais né como é que a gente vai fazer isso daí né E aí que entra o SQL tá então repara a volta que eu dei aqui para conectar lá aquele exemplo bobo do Instagram né parece bobo mas não é mas para conectar aquilo com o SQL então é nesse momento em que a gente precisa eh se comunicar com o computador para buscar as informações ali dentro é que vai entrar o SQL né antigamente eu precisava chegar
lá pro Josimar e falar Josimar me dá as informações seria lá na pasta né no arquivo pegava aquelas informações e trazia para mim hoje não é mais assim com computador eu preciso de uma outra maneira para conseguir ter essa comunicação E aí que entra o SQL tá Então pessoal o que que é o SQL agora finalmente entrando aí no tema principal aqui da nossa aula né do nosso curso completo aqui para iniciante o SQL ele vai ser uma linguagem composta por uma série de comandos que foram criados pra gente conseguir eh dizer pro computador a
forma como a gente quer acessar e manipular os dados dentro dele Antigamente eu falava pro Josimar Josimar me dá as informações só pro computador eu não posso chegar pro computador e falar computador me dá as informações não eu preciso ter uma uma linguagem uma forma de me comunicar com ele e vai ser justamente o skl que vai me permitir fazer isso tá o skl ele vai ser a linguagem que eu vou usar para me comunicar com os bancos de dados legal eh eql significa né a sigla para structured query language ou traduzindo significa linguagem de
consulta estruturada Por que linguagem de consulta né porque eu vou usar o skl para fazer consultas ao banco de dados né literalmente consultar uma informação eu uso o SQL para consultar uma informação eu quero fazer uma consulta ao banco de dados eu utilizo o SQL tá e o SQL é uma linguagem padrão pra gente trabalhar com dados tá o skl começou a surgir ali lá ali por volta dos anos 70 anos 80 né Eh e no primeiro momento ele tinha uma estrutura que a gente chamava de sequel né na verdade ainda se fala muito esse
termo sequel eh em vídeos estrangeiros né porque antigamente Esse era o nome da linguagem squel quando ela surgiu só que conforme a ideia de banco de dados em computadores começou a a cada vez mais se eh Se universalizar né várias empresas começaram a ter a ideia de utilizar banco de dados mas aí em determinado momento né chegou alguém ali e falou olha só tem várias empresas aqui trabalhando com banco de dados né só que a gente tem uma linguagem SQL que ajuda na hora de trabalhar com banco de dados Então vamos criar um padrão pra
gente poder trabalhar independente do banco de dados E aí Ali por volta ali 2 anos80 é quando o esql foi padronizado tudo isso para dizer que o esql é uma linguagem padrão para se trabalhar com dados daqui a pouco eu vou voltar nisso daí tá Então apesar de ser uma linguagem né de programação o skl ele tem uma lógica que de cer forma intuitiva e fácil de se aprender tá claro tudo depende do método que você vai aprender e eu quero te ajudar justamente nisso nesse curso básico aqui tá Então vamos lá mas como é
que funciona o SQL na prática né como é que a gente vai utilizar o SQL eh para conseguir acessar as informações acessar os dados como os nossos dados agora estão dentro de um computador existe um jeito né um jeito correto um jeito certo entre aspas de pedir as que que o computador Ele mostre aquelas informações pra gente né ou pra gente fazer uma leitura daqueles dados ou pra gente atualizar os dados excluir os dados enfim existe uma maneira certa da gente fazer isso tá então vamos dar um exemplo aqui simples né imagina que você tem
aí eh um um analista tá ess analista aqui que quer saber quais são os clientes do Estado de São Paulo Então eu tenho aqui o um analista né que pode ser aqui o nosso velho amigo o Josimar ele é nosso analista aqui e agora ele não tem mais um um arquivo né Ele cansou de trabalhar com aqueles arquivos né pesados e agora ele vai trabalhar com o computador ele tá muito mais feliz repara aqui no sorriso do rapaz ele tem um banco de dados aqui só que dessa vez ele quer saber quais são os clientes
do Estado de São Paulo fazendo uma consulta ali ao banco de dados como é que ele vai conseguir fazer isso bom no caso do SQL vai ser usado uma série de comandos comandos que a gente vai aprender ainda nessa aula então fica tranquilo tá E aí você começou a assistir a aula do meio né importante dizer que eu tô aqui fazendo uma contextualiza do skl para você até entender melhor o porquê de você aprender esse negócio né E porque que ele é até mais importante pode ser mais importante do que você imagina então voltando aqui
né o Josimar agora ele não vai mais falar pro banco pro quer dizer obviamente não vai falar né mas pro pro arquivo menos que ele tem um parafusamentos mas no caso dele o que ele precisava fazer é chegar lá no arquivo abrir a gaveta procurar informação só que dessa vez não funciona mais assim no computador ele vai ter que usar uma série de comandos uma série de códigos e aí que entra o SQL e esse vai ser aqui o formato né do nosso código ele vai usar um comando no caso comando select a gente vai
aprender isso aqui fica tranquilo ele vai usar um comando chamado select Esse comando né select ele vai dizer quais são as informações que ele quer visualizar então no caso ele quer visualizar as informações de nome sobrenome e estado d de uma tabela com informações de clientes onde o estado seja igual a São Paulo ele vai jogar esse comando skl lá pro banco de dados o banco de dados vai fazer a mágica dele e vai retornar uma tabela com essas informações nome dos clientes o sobrenome e o estado Então essa é a ideia do SQL eu
vou usar a linguagem SQL para me comunicar com o banco de dados e vou usar uma série de códigos para isso códigos relativamente tranquilos você vai aprender aqui até o final tá Mas vamos lá onde a gente vai usar o SQL beleza vamos vamos vamos lá vamos vamos tentar recapitular um pouco as coisas a gente começou dizendo que no nosso dia a dia lá no Instagram quando a gente dá um like na foto esse like se transforma num dado uma informação que vai ser armazenada pelo Instagram é uma maneira da gente lidar com dados nosso
dia a beleza entendemos isso entendemos também que dados estão presentes no nosso dia a dia né Não só no contexto pessoal mas também profissional dependente da área que você é da área de medicina da área de saúde da área de Finanças da área de engenharia da área de consultoria não interessa dados estão presentes beleza entendemos que esses dados eles são armazenados em algum lugar antigamente eles eram armazenados emem formato físico em arquivos em folhas de papel em pastas em determinado momento com o computador a gente passou a armazenar essas informações dentro do computador só que
dentro do computador a gente armazenava onde Dentro de banco de dados banco de dados são lugares onde a gente vai ter uma série de tabelas E essas tabelas vão armazenar informações né esses dados ali dentro né Beleza entendemos também que pra gente poder acessar as informações dentro né dos computadores dentro dos banco de dados a gente vai precisar do SQL que é uma linguagem que vai me permitir me comunicar com o computador beleza até aí entendemos só que onde nós vamos usar o SQL né até aqui eu talvez esteja um pouquinho lúdico para você né
Tá mas onde eu uso o SQL bom o SQL ele é uma série de comandos que nós vamos utilizar para trabalhar com dados mas onde nós vamos usar o SQL na prática né então Eh existem uma série de programas né programas especiais que vão permitir a gente utilizar o SQL para conseguir consultar criar alterar e excluir esses bancos de dados esses programas especiais são chamados de sistemas de gerenciamento de banco de dados ou sgbds então vai ser através desses programas que dentro deles nós vamos utilizar a linguagem SQL e ali dentro com a linguagem quer
nós vamos conseguir fazer consultas a esses bancos de dados enfim eh e aí toda mágica vai acontecer a gente vai ver isso aqui daqui a pouco tá Fica tranquilo imagina que você esteja ansioso mais calma vamos fazer essa introdução esse contexto geral né entender onde a gente tá se metendo para daí a gente Verê sentido nas coisas né então alguns exemplos de programas de banco de dados post SQL Oracle Database my SQL SQL s que L server access né inclusive esse aqui é bem interessante né esse access aqui você imagina que você possa ter o
pacot Office né que tem lá o Excel o o Word o PowerPoint só que aí sempre tinha esse iconeinstagram que é um tal de axess mas para que que era isso nunca soube né até ao determinado momento que começando a estudar sobre o banco de dados entendi que o axess é um exemplo de programa para se trabalhar com banco de dados tá o banco de dados do eh da Microsoft tá então esse aqui são exemplos de programas de banco de dados de sgbds e você provavelmente já ouviu falar de pelo menos Algum deles talvez você
tenha ouvido falar de todos ou pelo menos Algum deles você já ouviu falar né beleza então dito isso né eu volto até naquele ponto que eu falei inicialmente né de uma dificuldade muito comum de quem começa a estudar SQL na cabeçada né eu vou entrar lá vou procurar no Google no YouTube SQL aí aparece o MySQL SQL server ou segur SQL skl aparece um monte de SQL e a você fica na dúvida tá beleza Mas qual que é o SQL que eu aprendo E aí você com tanto skq na tua frente você fala assim pô
Quer saber Esse negócio é muito difícil Deixa para lá e aí você não não estuda né você desiste Porque você acha que é difícil só que na verdade né não existe um monte de SQL SQL existe um só lembra que eu falei que o SQL é uma linguagem uma linguagem para você trabalhar com dados para você manipular os bancos de dados então não existe um monte de SQL SQL existe um só só existe um SQL então assim até o que a gente falou aqui até agora se tivesse que você decorar uma coisa assim na tua
cabeça né é que só existe um sk Tá tira da tua cabeça aa coisa não mas tem um monte de SQL não SQL só tem um tá vamos lá vamos continuar aqui lembra que o SQL é uma linguagem para trabalhar com banco de dados tá o resto SQL server MySQL post Oracle enfim todos esses outros são programas de banco de dados são nomes dos programas onde nós vamos usar a linguagem SQL tá então repara na diferença o SQL é a linguagem Já os outros são nomes de programas de bancos de dados tá então isso tem
que ficar muito claro para você essa diferença Tá Mas vamos lá vamos fazer um exemplo aqui bem cara bem tangível eu gosto muito de trazer isso para eh eh tangibilizar para vocês aí no dia a dia pensa no idioma inglês tá para ficar 100% claro pensa no idioma inglês o inglês ele pode ser falado em diferentes países né você pode falar o inglês nos Estados Unidos no Canadá na Inglaterra enfim Austrália você pode aprender você pode falar inglês em vários países né você não na prática você não aprende skq não eu quero fazer um um
curso de de inglês eu quero fazer um curso de inglês e para falar na Austrália não eu quero fazer então um curso de inglês para falar na nos Estados Unidos não não existe isso né inglês é inglês Independente de onde você vai falar desde que ele fale o idioma inglês né ah Marcos não mas pera aí mas o inglês né tem sutaque o inglês tem suas expressões independendo dependendo do lugar por exemplo o inglês dos Estados Unidos ele é diferente em relação ao inglês do britânico né você percebe a diferença sim mas o idiom inglês
né um americano que vai pra Inglaterra ele consegue se comunicar né um britânico eh um inglês que vai pros Estados Unidos ele consegue se comunicar n claro que vão ter pequenas particularidades pequenas variações vai ter uma Gir vai ter uma expressão que é é específica de um de um determinado lugar mas na prática inglês é inglês não interessa onde você vai falar claro desde que o idioma seja um inglês tá então fazendo um paralelo né a gente poderia ter algo parecido o o esql então é como se fosse o inglês como se fosse o idioma
e os outros nomes mykel post gre Oracle etc é como se fosse uns países então eu tenho o idioma skl que pode ser falado no país skc no or No my tá então entenda o sk como sendo um idioma e os outros como sendo programas ah Marcos mas espa aí o SQL que eu uso no SQL server Eu já vi uma diferença em relação a uma SQL lembra da história do do idioma sim Existem algumas particularidades Inclusive a gente vai até entender o porqu né mas a linguagem SQL em si ela é um padrão inclusive
um instituto né o Instituto anzi né que é um instituto justamente ali de de padroniza ação ele padronizou o SQL para garantir que as diferentes empresas que criassem bancos de dados elas seguissem um padrão tá então esql é uma linguagem padrão que pode ser falado falado em diferentes países né em diferentes eh bancos de dados Fechou então muito importante que isso fique claro para você por entendendo isso você consegue compreender que o SQL né é uma coisa só você vai aprender o SQL e você vai usar em diferentes programas é claro que cada programa vai
ter a sua eh interface a sua eh diferenciação isso daí você vai aprendendo Conforme você for avançando e cada vez mais demandando do daqueles programas né mas o skl em si é uma linguagem isso que precisa ficar claro para você tá E aí você pode se perguntar bom beleza Eh entendi que o SQL é uma linguagem o SQL é um idioma e que eu vou usar o SQL em programas beleza entendi isso mas qual programa eu escolho Qual programa eu vou escoler escolher bom na prática pessoal eh o programa que você vai escolher depende eh
de alguns fatores primeiro deles é se você já trabalha em uma empresa ou não cada empresa pode utilizar um programa diferente né aí você pode perguntar tá mas por que então existe um monte de programa de banco de dados você falou do myc do post gre né do Oracle e assim vai por que que existe um monte de programa inclusive já vou até adiantando aqui Quais são os principais deles tá fazendo aqui um pequeno parênteses para dar continuidade esse aqui são os principais programas de banco de dados né tem o Oracle Database tem o que
é o mais utilizado tem o MySQL em segundo lugar o skl server post grade bnd db2 access e assim vai esse aqui é o top 10 tá que eu já quero deixar aqui na tela para você visualizar Aí você pode até se perguntar assim tá beleza mas por que que existe um monte de programa de banco de dados por que que não tem só um pessoal estamos num mundo né Eh capitalista de con corrência então é óbvio que para resolver um problema vão existir várias empresas por exemplo celular né Por que que existe celular da
marca Samsung da marca Dell da marca Dell não existe né mas da marca Motorola da marca Apple por que existe um monte de celular se no final das contas o objetivo dele é ligar né existe uma série de e celulares de marcas por quê porque cada marca cada empresa vai trazer a algo diferente vai trazer algum recurso diferente alguma particularidade alguma facilidade mas no final das contas o celular é para quê independente do celular que você usa é uma câmera é um ligar né e acessar redes sociais e navegador né esse é o principal só
que claro cada empresa vai utilizar ali eh vai vai utilizar da sua tecnologia para trazer alguma implementação ali alguma coisa diferente mas a essência de um celular independente da da empresa é a mesma é é para tirar foto é para falar é para acessar redes sociais WhatsApp pronto só que cada um vai trazer algo diferente o mesmo vale para programas de banco de dados tá Por que que existem vários porque existem várias empresas interessadas em trazer essa solução e óbvio que cada empresa vai trazer ali uma ferramenta diferente um recurso diferente um layout diferente mas
todas elas vão utilizar a linguagem SQL né isso inclusive é uma das coisas que mais faz o SQL eh se disseminar né o esql é uma linguagem já antiga né lá dos anos 70 e até hoje ela é utilizada por quê Por causa da padronização então a padronização que foi feita entre os bancos de dados ajuda a fazer o SQL ser uma linguagem cada vez mais usada e assim eh não não tem outra que vá substituir o SQL tá pelo menos não apareceu nenhuma mas enfim existem vários programas de banco de dados justamente porque existem
várias empresas interessadas em trazer soluções né para a em termos de banco de dados tá mas aí voltando né qual o programa eu escolho Primeira coisa vai dep ler da do banco de dados que a empresa que você trabalha utiliza Então vamos supor que você já trabalhe numa empresa a sua empresa trabalha com Oracle então se você quer aprender esql recomendo que você comece aprendendo dentro do programa Oracle Ah mas eu já tinha aprendido um pouquinho lá no msql Beleza quando você chegar no Oracle você vai ver que muita coisa é reaproveitada Então a primeira
coisa que vai definir qual programa você vai escolher é o programa que é utilizado na tua empresa se a tua empresa se a sua empresa usa Oracle Então comece aprendendo né assistindo aulas conteúdos com o SQL aplicado ao Oracle Ah não tua empresa usa mais SQL beleza instala o MySQL utiliza a linguagem mais eh SQL dentro do MySQL e aprende lá tá então essa esse essa é a primeira eh eu diria que essa é a primeira coisa que você vai avaliar na hora de escolher um programa se o programa Qual é o programa que é
utilizado na sua empresa tá agora vamos supor que você não trabalha ainda né você quer simplesmente aprender a utilizar a linguagem SQL Qual que você pode escolher vou dar a minha opinião pessoal tá dentre todos esses aqui né como eu já mostrei para você esse é o top 10 tá começando lá pelo Microsoft agure snowflake Maria DB skite access DB IBM post sk server maisl Oracle esse aqui são os top quatro mais utilizados a tendência é que na empresa que você utilize ou nas vagas que você busque que tem banco de dados como pré-requisito você
encontra ali pré-requisito né a empresa falando Ah domínio IMP post GR domínio SQL server domínio MySQL e assim vai mas vamos supor que você não trabalhe Qual que você pode escolher Eu recomendo que você utilize o MySQL tá o MySQL ele é extremamente intuitivo ele tem um layout muito limpo a gente vai ver aqui porque vai ser o banco de dados que eu vou utilizar eh e ele é é muito prático né Ele é é muito bom assim de usar para quem nunca trabalhou com banco de dados tá então a minha recomendação é que você
utilize o mais skl Inclusive é o banco de datos que eu vou usar aqui então se você não trabalha em uma empresa você só quer aprender a usar o SQL utilize oql pô Marcos pera aí mas você não falou que o SQL é ele é uma linguagem que é usada por todos sim mas na hora de você aprender você precisa escolher um programa porque você não consegue chegar né no teu computador abrir um bloco de notas e começar a escrever um monte de comando SQL né não existe isso você precisa de um programa específico da
mesma forma que você precisa de um programa para escrever um texto né você precisa do word para escrever um texto você precisa de um programa específico para trabalhar com a linguagem SQL e você escolhe um dos principais Eu recomendo uma MySQL tá mas você pode utilizar qualquer um desses programas agora eu quero aqui só pra gente começar a finalizar essa primeira etapa pra gente partir pra parte prática que eu sei que vocês querem mas esse contexto geral aqui é extremamente importante para você até às vezes se convencer né de pô pera aí acho que vale
a pena aprender esse tal de SQL então trouxe esse contexto aqui para você já partir de um contexto diferente ali na hora de você começar a estudar SQL mas eu vou te dar aqui sete motivos para você eh aprender a SQL primeiro deles é que com todo o volume de dados que as empresas geram ou precisam ldar diariamente o SQL cada vez mais é demandado porque vamos lá eh Por que que a gente o que que é um banco de dados um banco de dados é um lugar onde eu armazeno dados eu posso criar um
banco de dados no Excel por exemplo você Você já trabalhou com Excel Provavelmente você já criou ali um banco de dados dentro do do do Excel ou talvez do Power bi Apesar de o Power bi não ser exatamente um lugar onde a gente cria bancos de dados né a gente lê Mas enfim o Excel é uma possibilidade só Qual que é o ponto né as empresas precisam manipular cada vez mais informações e chega um ponto que você provavelmente você é um usuário avançado de Excel você sabe que chega um ponto que o Excel ele quebra
dependendo da quantidade de informações e ele deixa de ser eh suficiente para trabalhar com um determinado volume de dados então dado que as empresas começam a trabalhar cada vez mais com milhões e milhões de informações precisa se utilizar banco de dados e para manipular esses bancos de dados a gente precisa do SQL então o SQL ele acaba sendo o futuro não só o futuro né Ele é o passado o presente o futuro o esel foi começado começou ali a partir dos anos 70 a gente já tá em 2023 ele ainda é utilizado por quê Porque
a linguagem SQL né além de ser um padrão ela é extremamente importante para se trabalhar com banco de dados então repara aqui nessas notícias né notícias aqui de recent né temos mais dados do que nunca né 40 trilhões de GB de dados gerados demanda por profissionais da área de dados cresce 500% no B atinge 1,5 bilhão de transações enfim é muita informação e a gente precisa de banco de dados e do esel para conseguir manipular essas informações então é cada vez mais importante ter conhecimento da linguagem SQL o segundo né que assim o segundo motivo
é que todo esse volume de dados ele requer uma forma segura de você armazenar essas informações tá te garanto que o Itaú da vida ele não utiliza uma planilha Excel para armazenar o banco de dados de cliente né não existe o Itaú chegar lá e ter uma tabela com o valor na na conta bancária de cada cliente e essa planilha ficar sendo compartilhada por aí não é usado um banco de dados um sistema de banco de dados que seja seguro que seja confiável e o SQL ele vai ser importante justamente disso n porque as empresas
precisam não só armazenar grandes volumes de dados mas armazenar de forma segura fechado terceiro ponto a linguagem SQL é uma linguagem padrão isso daqui eu diria que é a característica mais importante pro SQL ser utilizado até hoje desde lá dos anos 70 porque ele foi padronizado então qualquer programa que utilize eh qualquer programa que seja um programa voltado para banco de dados ele vai utilizar a linguagem esel como padrão tá E aí assim para quem é um pouquinho mais avançado aqui vou só falar um detalhe a gente tá falando de banco de dados relacionais tá
composto por tabelas que se relacionam entre si não estou falando de outro tipo de banco de dados Tá mas enfim os bancos de dados principais são justamente esses relacionais e a linguagem padrão para se trabalhar com esses bancos de dados é a linguagem SQL tá pô mas exatamente igual independente do programa não é da mesma forma que eu fiz o paralelo lá do idioma inglês né o idioma inglês ele não é igual em todos os países mas a base em si a comunicação você consegue se comunicar enfim independente do país a mesma coisa vale pro
SQL legal o quarto motivo é que o SQL ele é utilizado em diferentes áreas do mercado então não interessa Qual é a sua área você provavelmente vai precisar trabalhar com dados e se você precisar trabalhar com dados Possivelmente Você vai precisar trabalhar com banco de dados eql e quando eu digo qualquer área qualquer área mesmo tá setor financeiro né quem trabalha com redes sociais streaming data Science setor de energia rede de pesquisa né YouTube Google bi análise de dados marketing então não interessa qual é a área que você trabalha não interessa qual é a área
que você atua ou que você vai atuar dados são coisas que você vai precisar manipular independente do teu contexto fechado então isso aqui é muito importante até para você colocar na tua cabeça o seguinte Ah eu não sei se isso é para mim não pergunta não não é essa né a dúvida não é essa trabalhar com dados todo mundo precisa né todo negócio precisa lidar com dados então consequentemente se o SQL ajuda a gente a trabalhar com banco de dados e toda a área toda empresa precisa manipular dados então consequentemente o SQL ele vai ser
muito útil aí para quem trabalha com dados tá é claro que cada profissional pode exigir pode ter uma demanda maior ou menor pelo SQL tá eh mas o importante é que você entenda que Independente da sua área o SQL ele pode ser usado para trabalhar com dados o outro ponto é que grandes empresas né pequenas médias ou grandes empresas utilizam o SQL não interessa qual é a área como eu falei com vocês não interessa o segmento toda empresa precisa manipular dados seja ela pequena média ou grande então ela pode consequentemente trabalhar com SQL também um
outro ponto é que existe uma variedade de profissionais que trabalham com dados esql né Você pode até estar se perguntando pô beleza mas eh quem trabalha com esql se chama o quê Ah pode ser um analista de dados analista de bi pode ser um cientista de dados pode ser um desenvolvedor de banco de dados pode ser um administrador de banco de dados Então trabalha com dados pode trabalhar com SQL e existem vários cargos né várias eh oportunidades então se você entra lá no Linkedin começa a procurar por vaga você pode botar an lista de dados
cientista de dados analista de bi desenvolvedor de de dados você vai encontrar uma série de vagas com pré como pré-requisitos o SQL inclusive Depois dessa aula você pode até fazer esse exercício tá e o último motivo é que se a sua empresa eh é primeiro provavelmente a tua empresa usa SQL você nem sabe né usa banco de dados SQL você nem sabe você pode até fazer esse exercício depois chega na sua empresa e fala assim pô cá o pergunta para alguém de ti né o pessoal de ti né que vai ter essa informação geralmente Ô
Fabrício Fabrício do ti a gente usa banco de dados skl aqui provavelmente vai falar que sim né mas se ele falar que não se a tua empresa não usa provavelmente ela não usa hoje mas algum momento ela pode usar tá então aprender SQ pode ser muito útil aí para você ou no presente ou no futuro tá Último Ponto aqui ó que é uma dúvida muito comum de vocês né Ah beleza entendi que o SQL é para trabalhar com dados e essa coisa toda eu não posso usar o Excel não posso usar o Power bi não
posso usar o Python essa pergunta é clássica e eu já quero te dizer que não você não pode usar Excel Power Bi e Python no lugar de skl Por que não porque o skq o Excel o Power Bi e o Python eles não são alternativas não competem com SQL Na verdade são ferramentas complementares inclusive né se você trabalha com Excel é ou Power Bi por exemplo você sabe o que que é o Power query o Power query é um lugar onde você vai conectar o programa com banco de dados né com fontes de dados e
aí você pode ter uma fonte de dados que é um csv que é um TXT que é um PDF ou até mesmo banco de dados então Eh na prática essas ferramentas elas são complementares e não competidoras e inclusive existem facilidades para se usar o Excel junto com Power o com com SQL o Power bi junto com SQL o Python com SQL Quem já tem algum conhecimento ali nessas ferramentas vai saber que o que que eu tô falando né então na prática essas ferramentas não competem entre si elas são complementares então não fic com essa coisa
na cabeça não mas eu eu aprendo o qu esql ou Excel esql ou Python não é uma coisa ou outra é uma coisa e outra Fechou então vamos lá pra gente finalmente partir pra nossa parte prática tá pra gente ir pr pra parte prática Vamos fazer um pequeno resumo aqui do que a gente viu até agora primeiro dados estão ao nosso redor né banco de dados e dados estão ao nosso redor de uma maneira que às vezes a gente nem imagina e os bancos de dados são lugares onde nós armazenamos esses dados tá nos computadores
né esses dados eles são formados por tabelas essas tabelas armazenam informações tá segundo ponto aqui que a gente falou o SQL é uma linguagem que permite a gente se comunicar com os bancos de dados e Lembra daquela história lá do idioma né Eu uso o inglês para falar para me comunicar nos Estados Unidos na Inglaterra seja lá onde for o skl é uma linguagem que eu consigo usar para me comunicar com os bancos de dados né esse banco de dados a gente pode utilizar ali dentro de diferentes programas que são os sgbds né falamos que
o skl é uma linguagem padrão para se trabalhar com dados com banco de dados e ela pode ser utilizada em diferentes programas SQL SQL server skl Oracle post post access e assim vai o quarto ponto é que só existe um SQL como eu falei lembra do inglês né o SQL é um padrão para se utilizar em diferentes programas tá e para fechar Excel Power bi Python skell Será que faz sentido essa competição não faz sentido são ferramentas complementares e na prática a gente usa Excel junto com esql Excel com eh Power bi com esql Excel
com Power bi as ferramentas são complementário tá então tira aí da tua cabeça essa coisa de que ou eu aprendo uma coisa ou outra fechado bom então com isso a gente encerra o nosso primeiro bloco tá o nosso primeiro bloco em que a gente falamos aí sobre eh O que que é o SQL o contexto ali sobre banco de dados enfim essa coisa toda aí tá bom então espero que até aqui tenha ficado claro para você e agora a ideia a gente é efetivamente entrar ali para trabalhar com o MySQL tá que vai ser o
programa de banco de dados que eu escolhi aqui para trabalhar então agora sim apertem os cintos vamos começar a falar sobre a linguagem skq na prática tá como esse assunto aqui é um assunto que a gente vai se aprofundar bastante eu troue até uma colinha aqui para não esquecer de uma informação aqui para passar para vocês né então vamos lá deixar até aqui do meu lado aqui para garantir que eu vou passar tudo com vocês aqui sobre essas informações Tá então vamos lá qual que vai ser a ideia aqui a partir de agora pessoal a
ideia a partir de agora é a gente falar sobre a linguagem SQL na prática tá a linguagem SQL na prática e agora efetivamente a gente vai entrar na parte de código então a gente já entendeu que o SQL ele é uma linguagem que é utilizada para trabalhar com banco de dados tá é para isso que a gente utiliza aí a linguagem SQL e nós utilizamos a linguagem SQL dentro de um programa de banco de dados esse programa de banco de dados pode ser o MySQL o post o Oracle o enfim o o SQL server e
assim vai tá E agora a gente vai começar a falar aí efetivamente sobre a linguagem SQL aplicada na prática então vamos lá vamos começar aqui seguinte esse é o programa my SQL que como eu falei com vocês é o programa né que acaba sendo o programa mais prático de se utilizar ele tem uma um layout muito Clean então muito fácil da gente conseguir compreender mas eu quero começar fazendo uma introdução aqui com vocês sobre a o layout em si e a estrutura do MySQL que na prática acaba sendo uma estrutura muito parecida ali com eh
o outros bancos de dados então o que que a gente tem aqui quando a gente entra no MySQL a gente tem esse layout aqui tá não vou mostrar nessa aula como instalar o my até porque instalação de banco de dados leva um pouco mais de tempo mas vocês podem assistir aqui né no nosso canal aqui na descrição tem uma sugestão ali de como vocês podem fazer para baixar o MySQL Mas é bem tranquilo mas eu vou partir aqui já do MySQL instalado na minha máquina Então qual que é a estrutura que nós temos aqui no
MySQL né e banco de dados em geral geralmente nós temos essa estrutura aqui tá uma estrutura onde na parte superior nós temos uma série de guias e Abas onde nós usamos ali e onde nós vamos ter né recursos eh mais diretos assim para se trabalhar com consultas para edição né para queries e assim vai então essa parte de cima aqui aqui no lado esquerdo nós temos uma lista com as eh com os bancos de dados né então todos os bancos de dados que fazem parte ali da nossa eh do nosso programa a gente consegue visualizar
aqui do lado direito inclusive aqui eu tenho alguns bancos de dados né que já estão eh armazenados ali dentro que eu poderia visualizar a gente vai falar sobre eles daqui a pouco aqui na parte inferior nós vamos ter uma janela de output que é uma janela onde nós visualizamos né a a saída das consultas que nós fazemos e na parte Central é efetivamente onde nós vamos e criar os nossos códigos tá então essa vai ser a parte onde a gente vai mais vai mexer aqui ao longo dessa aula e agora nós vamos trabalhar com o
nosso bloco A gente vai falar sobre o bloco dois aqui do nosso do nosso curso básico né que vai ser o bloco de primeiros códigos em SQL a gente vai começar aqui a brincar um pouco com a linguagem SQL pra gente entender ali como é que é o funcionamento dela bom primeiro nessa janela Central como eu falei para você a gente consegue criar os nossos códigos e tem e exatamente ali duas formas de escrever ali dentro daquela janela a primeira delas é dessa forma aqui ó eu já vou explicar para vocês mas é escrever um
código qualquer então por exemplo Escreva um código dessa maneira uma outra forma de escrever é começando com dois traços dessa maneira aqui ó e tudo que eu escrever a partir de aqui na verdade se trata do que a gente chama de comentário Então essas são as duas formas aqui de escrever nessa janela de código ou eu escrevo um comando que eu vou executar ele vai fazer alguma coisa ou eu escrevo um comentário seguido aqui desses dois tracinhos então isso aqui por exemplo isso aqui é um isso é um comentário beleza comentários são muito úteis aí
pra gente conseguir eh documentar informações do nosso código então eu quero dizer Qual foi o dia da última atualização naquele código Eu quero explicar o que que um determinado código faz eu uso aquele traço traço tá então essa vai ser a forma aí que a gente vai utilizar a linguagem né a gente vai escrever ali dentro então vou até aproveitar e colocar assim ó esse vai ser o nosso bloco dois primeiros códigos no esql é disso que a gente vai tratar nesse bloco aqui fechou Bom agora vamos falar um pouquinho aqui sobre esse lado esquerdo
tá esse lado esquerdo onde nós temos o que a gente chama de skemas aqui dentro do MySQL skemas são e bancos de dados banco de dados são lugares onde nós armazenamos as tabelas as informações né E temos aqui uma um banco de dados chamado base que vai ser o banco de dados que eu mais vou utilizar aqui ao longo dessa aula esse banco de dados já está criado Mas você também vai aprender aqui a criar um banco de dados do zero mas eu tenho aqui um banco de dados chamado base e esse banco de dados
chamado base ele tem uma série série de tabelas tabela de categorias de clientes de locais de lojas de pedidos e de produtos Fechou então tem informações ali dentro aqui dentro eu vou ter tabelas e quando eu clico em cima de uma tabela aqui do lado eh esquerdo na parte inferior ele mostra para mim uma série de informações sobre aquela tabela então a tabela de categorias ela tem eh o nome dela é categorias e as colunas são ID categoria E categoria E o que que significa esse nomezinho aqui ó do lado significa o tipo do dado
ou seja a forma como aquele dado é armazenado no caso do ID da categoria esse dado é armazenado como número inteiro int é daí que vem o int né inteiro categoria é do tipo texto ele é armazenado como texto Vamos ver outro exemplo aqui clientes clientes é uma tabela que tem mais informações então tem ali ó ID do cliente eh nome sobrenome data Nascimento estado civil e assim vai e cada uma dessas colunas é armazenada de uma forma ID do cliente é do tipo inteiro o nome é do tipo texto é sobrenome é do tipo
texto e assim vai tá mas como é que eu faço para visualizar as informações dess dessas tabelas né qual como é que eu faço isso através de um código SQL é agora que vai entrar o nosso primeiro código aqui dentro código para selecionar dados de uma tabela para selecionar uma tabela usando ali é extremamente simples a gente come utilizando o comando chamado select logo em seguida eu dizer quais são asun que eu quero selecionar aqui por enquanto só dando uma sxe vocês tá não aind selecionando select colunas from uma determinada tabela e no final eu
sempre coloco um ponto e vírgula para dizer que aquele comando Acabou então essa vai ser a estrutura eu vou selecionar colunas que a pode ser coluna Cola 2 coluna 3 e assim vai de uma determinaba vamos su que eu as informaões daab deos como vaiou fazer um select e quais asun eu quero seleci eu poss E se eu não quiser dizer quais colunas eu quero selecionar se eu quiser simplesmente selecionar todas eu posso usar o comando asterisco quando eu coloco asterisco ele entende que eu quero selecionar todas as colunas daquela tabela então select asterisco from
a nossa tabela de produtos ponto e vírgula no final para que o es saiba que o comando finalizou Então essa vai ser a ideia selecione select todas as colunas da minha tabela de produtos com isso eu vou fazer a minha primeira consulta ao banco de dados para executar esse código eu posso ser selecioná-lo dessa forma aqui e clicar nesse raiozinho aqui para que ele possa executar aquele código que eu acabei de selecionar então cliquei no raiozinho cliquei no raiozinho E tá lá ele executou para mim antes de eu dar continuidade aqui eu quero mostrar um
detalhe muito importante que é um erro que pode acontecer com você e eu quero garantir que se acontecer você vai saber como resolver vamos lá aqui do lado eu tenho uma série de bancos de dados cada um desses izin aqui ó ele representa um banco de dados e dentro desse banco de dados vai ter uma série de tabelas esses bancos de dados aqui ó sakila se World Eles são banc de dados que já vem instalados no MySQL tá por isso que eles estão ali os outros foram bancos de dados que eu criei apenas para exemplo
vamos lá se eu tenho uma série de banco de dados aqui uma pergunta que você pode se fazer né como é que ele sabe que eu preciso selecionar a tabela de produtos que tá no banco de dados base que é o banco de dados dele de origem como é que ele sabe o banco de dados certo para selecionar é inteligente tem alguma Inteligência Artificial ali dentro vamos lá vamos pegar aqui um exemplo eu tenho aqui agora o banco de dados World tá informações ali que a gente não vai trabalhar mas só pra gente exemplificar Esse
banco de dados ele tem eh três tabelas cidade eh City eh City Country e Country language vamos supor agora vou apagar esse código aqui vamos supor que eu quisesse selecionar agora a tabela C no meu banco de dados World tá Então olha só select asterisco from City Opa C tá quero selecionar todas as colunas da minha tabela C essa tabela tá aqui será que vai ser vai funcionar isso daqui ó vou executar e olha só não aconteceu nada né inclusive Nessa hora assim quando a gente executa um código é muito comum né a gente ficar
assim Beleza tô esperando ele executar e a gente fica aqui ó que que aconteceu executei tô aqui esperando e nada né isso aqui se já aconteceu com você né se não aconteceu com você vai acontecer em algum momento fica assim ué mas executei aqui não tá funcionando por que que não funcionou né aí a gente olha para janela de output lá embaixo a gente vai ver que apareceram esses iconz aqui ó vermelhinhos Então essa janela de output né como eu comentei com vocês é um e é uma janela onde vai aparecer o resultado daquela consulta
que a gente fez essa consulta aqui desse select produtos ela deu certo apareceu esse cheque Zinho Verde mas depois quando eu tentei executar Esse comando select asteris from City não funcionou e ele deu um erro aqui ó table base. City doesn't exist O que que significa isso aqui ele tá dizendo que a na bela cidade não existe na na no banco de dados base isso é mas eu sei que não existe ele tá no banco de D no banco de dados World mas o que acontece pessoal tem uma coisa aqui que se chama banco de
dados padrão banco de dados selecionado no momento do seu código e o que aconteceu para aquele select anterior ter funcionado o banco de dados base ele está configurado como banco de dados padrão inclusive se você reparar aqui ó aparece esse aqui no nome base né significa que é o banco de dados selecionado como padrão então quando eu tento selecionar uma tabela dentro desse banco de dados funciona agora se eu tento selecionar uma tabela que tá em outro banco de dados não funciona e o que que eu teria que fazer para resolver isso eu teria que
vir aqui no banc de dados World clicar nele com o botão direito e vir aqui ó em set as default schema então cliquei ali repara que agora ele ficou né marcadinho se eu executar o código Agora sim ele vai D tá então detalhe importante pô mas eu sempre preciso fazer isso para funcionar bom essa é a forma mais prática aqui da gente eh da gente resolver esse problema né eu vou trabalhar com banco de dados World eu vou colocá-lo como padrão botão direito set as the schema o mesmo Vale ali pra Base só que agora
Se eu tentar selecionar o banco de dados produtos ou a tabela produtos executei aqui não vai funcionar né porque agora ele tá dizendo que não existe uma tabela chamada produtos no banco World como é que eu poderia resolver isso aqui de uma forma alternativa em vez de ficar vindo aqui com botão direito e set as the schema logo antes do nome da tabela eu poderia colocar o nome do banco de dados Onde está aquela tabela então poderia fazer assim ó base ponto produtos então agora né se executar esse código aqui não interessa qual banco de
dados está selecionado aqui como padrão como eu identifiquei Qual é o banco de dados que aquela tabela se encontra isso aqui já vai funcionar Tá então como é que eu leio isso daqui ó selecione todas as informações da tabela produtos que está no banco de dados base né base pon produtos tá só que eu vou simplificar minha vida aqui e não vou ficar escrevendo desse jeito senão o nome vai ficar muito grande Tá então em vez de escrever dessa forma vou apagar vou vir aqui ó no base botão direito set as Def schema deixa eu
fechar essa janela aqui ó vou executar novamente aí vai funcionar fechado então uma dica aí pro caso de você lidar com esse problema né você se deparar com esse problema você já sabe ali como resolver bom então com isso nós fizemos a nossa primeira consulta ao banco de dados utilizamos a linguagem SQL para fazer um select e selecionamos a tabela produtos fechou vamos selecionar mais uma pra gente continuar conhecendo ali né na verdade antes de selecionar vamos dar uma olhada nessa tabela aqui porque a gente vai começar a trabalhar bastante com esses dados tá tabela
de produtos tem um total de Sete Colunas ID do produto nome do produto ID da categoria marca do produto número da série preço unitário custo unitário Essas são as informações ali dentro a gente vai ver bastante essa tabela aqui ao longo da aula porque a gente vai fazer vários exercícios Tá Mas vamos lá vamos selecionar uma outra tabela né E aqui uma dica muito importante tá vamos supor que esse é o teu primeiro dia de eh como analista de dados ou como desenvolvedor de bancos de dados não interessa só o primeiro dia e a empresa
te jogou lá o myk para você começar a trabalhar qual que é a minha recomendação para você conhecer melhor o banco de dados para você se ambientar faça esse papel de investigador de detetive pô deixa eu ver quais são as tabelas que tem ali deixa eu ver os bancos de dados hum aqui tem esse aula YouTube que tem essas tabelas aqui tem esse base que tem tem essas tabelas tem esse negócio de views tem esse hash moove enfim tem uma série de informações ali Faz esse trabalho de investigação pô beleza essa tabela de base aqui
deixa eu selecionar essa esse banco deado de base deixa eu selecionar as tabelas vamos lá vou fazer agora um select asterisco from a minha tabela de categorias tabela categorias vou executar aqui ó selecionei executei hum agora essa tabela aqui qu informações ela tem tem o ID da categoria E tem a categoria pô por que será que tem essas informações Deixa eu voltar aqui na tabela de produtos vou selecionar a tabela de produtos executei Hum Olha só tem uma coluna aqui chamada ID categoria provávelmente esses números aqui 1 2 3 4 5 eu consigo identificar a
partir das categorias Então deixa eu ver e esse primeiro produto aqui ó ele é um monitor LED da categoria 1 deixa eu ver aqui Que categoria é essa selecionei executei hum categoria um é monitor categoria dois é kit de teclado e assim vai esse trabalho aqui de curiosidade de detetivo de investigador é um trabalho que te ajuda a conhecer melhor as informações que estão ali dentro tá então faça isso seja curioso vamos selecionar mais uma Ó tem a tabela de clientes agora vou selecionar select asterisco from from clientes legal deixa eu ver que informações tem
ali Hum eu tenho o ID do cliente tem o nome do cliente tem o sobrenome tem a data estado civil sexo e-mail telefone renda anual quantidade de fil escolaridade Pô legal vamos ver mais informações agora vamos ver a tabela de locais select asterisco from locais locais selecionei ponto e vírgula executei hum essa tabela de locais tem informações de cidade estado região e assim vai tá gente trabalho de explorar as informações um erro que é muito comum de quem começa né primeira principalmente ali no primeiro dia né primeiro dia no emprego é não olhar as informações
não se ambientar E aí depois chega alguém e fala assim ô Josimar vamos voltar no Josimar Josimar quero que você faça uma análise eh de clientes divididos por nacionalidade EZ fic assim Caraca mas como eu vou fazer isso aí ele fica caçando aqui as tabelas porque ele não ele não conhece as tabelas se ele tivesse feito esse trabalho de investigação ele ia saber pô pera aí eu sei que essa informação de localidade essa informação x y z ela tá na tabela tal então vou ter que trabalhar com a tabela a b e c para conseguir
essas informações então fazer esse trabalho de investigação é muito importante e repara que até agora eu não saí do select só para mostrar para vocês que com comando muito simples Vocês conseguem fazer muita coisa visualizar as informações que estão ali dentro reconhecer as informações tá então esse trabalho mais eh pausado mais tranquilo sem impressa vai ajudar vocês a se contextualizar melhor tá então é isso poderia selecionar ali várias tabelas e a estrutura seria essa select asterisco from a nossa tabela o nome da tabela como é que eu faria agora para selecionar eh colunas específicas vou
até fazer assim aqui eh selecionando todas as colunas de uma tabela agora eu quero selecionar apenas algumas colunas selecionando a algumas algumas colunas de uma tabela imagina que eu não quero selecionar todas tá eu tenho lá um select que eu fiz na tabela de clientes tá tabela cliente aumentar um pouquinho mais aqui vou Fechar essa janela e aqui eu tenho várias informações nessa tabela tá select hasteristico from client tem várias colunas Mas vamos supor não quero selecionar todas Tem muita informação entendeu eu quero selecionar só o nome e o e-mail e o telefone vamos supor
que eu quero selecionar essas informações por qu porque eu vou repassar essas informações lá pro meu time comercial e as informações que o time comercial precisam são e-mail e telefone ponto não precisa de todas essas informações aqui como é que eu poderia fazer eu venho aqui select a partir de agora eu vou dizer qual qual o nome das colunas que eu quero selecionar a primeira coluna vai ser e nome Beleza segunda coluna vai ser e-mail e a terceira coluna vai ser telefone então com isso disse ali para o código que eu quero selecionar essas TR
essas três colunas tudo isso o qu from a minha tabela de clientes então repara que agora não vou mais selecionar todas as colunas vou selecionar apenas algumas delas Então vou executar esse código aqui selecionei executei e aí tá lá Ele me mostrou apenas essas três TR informações Por que que isso é interessante porque agora eu tenho uma tabela muito mais resumida e é muito mais fácil bater o olho e enfim fazer o que eu preciso fazer com ela então se o time comercial precisou dessas informações eu vou jogar só elas para ele pro time comercial
o time comercial não precisa saber sei lá informações de CPF do cliente ou então enfim não interessa talvez eles queiram saber uma outra informação né aí uma coisa que vocês podem se perguntar tá beleza selecionei só essas três colunas como é que eu faço agora para saber que outras colunas eu poderia selecionar vou ter que decorar não Ou você executaria de novo esse select só para poder lembrar as informações que tem naquela tabela ou você pode vir aqui ó do lado direito do lado esquerdo procura pela tabela clientes e aqui embaixo vai aparecer a lista
com o nome das colunas tá E aí a gente selecionou nome eh e-mail e telefone vamos supor que agora eu quisesse selecionar também renda anual vamos saber vamos vamos supor que que o eh o comercial ele vai fazer uma segmentação por renda que dependendo da renda da pessoa vai oferecer um Enfim uma solução x y z então ó Desc Lembrei aqui qual quais informações eu tenho na tabela poderia chegar aqui agora e acrescentar a renda anual selecionei esse código executei e aí tá lá agora eu tenho as quatro informações fechado então exemplo de como eu
posso selecionar a algumas Colunas da minha tabela agora a gente a gente entra num ponto important Né repara que o meu código comeou a ficar muito grande se eu quess selecionar mais colunas ou se eu incluísse mais comos ess código ia comear a ficar um pouco extenso né E aí pr organização ia ficar meio ruim que que a gente pode fazer nesse momento a gente pode fazer uma coisa chamada identação que é o qu organizar melhor as os códigos ali e de uma forma bem resumida é simplesmente pular linhas Tá bom então vamos simplificar aqui
a nossa vida identar é pular linhas grosseiramente falando então aqui ó para não deixar tudo numa linha só eu posso vir aqui na coluna nome vou dar um enter apertar a tecla Tab para dar um espacinho né a tecla Tab é aquela aquela tecla que tem uma seta para um lado e a seta pro outro posso dar um enter aqui no e-mail também outro enter no telefone outro enter na renda anual e outro aqui no from clientes Então tá lá se eu executar isso aqui na prática não vai fazer diferença ele vai executar o código
para mim da mesma forma tá só que dessa vez o meu código fica muito mais organizado tá ess é o primeiro ponto sobre organização identação do código outra coisa que eu pode que eu poderia fazer aqui também é dar um nome né um apelido para essas colunas que selecionei então por exemplo coluna nome e-mail telefone renda anual são os nomes das colunas na tabela e são as os nomes que aparecem aqui ó nome e-mail telefone e renda anual mas eu poderia chegar aqui e dar outros nomes por exemplo em vez de colocar só nome eu
poderia fazer assim ó nome as e que eu faço assim nome completo Quando eu executo esse código aqui ó agora vai aparecer o nome ali nome underline completo para talvez deixar um pouquinho mais claro aquela informação ou poderia colocar por exemplo nome cliente né porque o nome completo mas nome completo de quem nome do cliente então nome cliente né Então essa ser o que a gente chama deas né então utilizar esse S aqui pra gente conseguir deixar aquele nomezinho mais intuitivo né ou usar um nome diferente Às vezes você manipula um banco de dados que
tá em inglês e aí você quer fazer uma consulta e essa consulta você quer que as colunas tenham nomes em português você pode usar esse S aqui com um nomezinho que você quer dar para aquela coluna tá eu sempre recomendo que você utilize underline ou não utilize espaços para dar os nomes tá então por exemplo aqui ó ou nome cliente tudo junto ou nome underline cliente não recomendo que você utilize espaços tá para não ter nenhum problema fechado então elas né para você dar apelidos é uma outra forma também de organizar então com isso a
gente viu uma outra forma de fazer um select ali na nossa tabela Beleza agora vamos fazer o seguinte eu vou selecionar uma outra tabela ali do meu banco de dados vou selecionar a tabela de produtos select dessa vez eu vou selecionar todas as colunas tá select asterisco asterisco from produtos ponto e vírgula vou selecionar vou executar Legal essas são as informações que eu tenho ali na na minha tabela de produtos que que eu poderia fazer nessa tabela é por exemplo que poderia ser por exemplo um pedido eh da equipe que lida com o fornecedor Então
vamos supor que nós temos uma área que precisa est constantemente eh atualizando o estoque precisa comprar mais produtos etc etc e aí essa área precisa de uma informação específica para conseguir contactar os fornecedores que informação seria essa Né repara aqui que na tabela de produtos nós temos uma série de informações dentre elas a informação de marca do produto então cada um desses produtos é de uma marca específica então Ó esse monitor aqui é da marca Dell o monitor Curvo é já esse segundo monitor é da marca Samsung webcam é da marca logtech e assim vai
e claro tem alguns produtos que tem a mesma marca então tenho a marca D tem a marca a marca logtech Dell de novo altura e assim vai mas vamos supor que eu tivesse ali centenas de produtos né aqui eu tenho só 16 produtos tem um total de 16 produtos aqui mas imagina que eu tivesse centenas de produtos como é que eu sei quais são as informações né quais são a as marcas as possíveis marcas que eu tenho ali de fornecedores da forma como tá aqui eu teria um certo trabalho né para ficar anotando ó tem
um que é da marca D aí eu anoto ali Esse é um dos fornecedores Ah um outro é Samsung então outro fornecedor logtech e assim vai só que is pode dar um trabalho como é que eu poderia de uma maneira simples descobrir exatamente quais são todas as marcas que estão presentes aqui mas de uma maneira distinta Então não precisa ficar me preocupando em ficar eh analisando linha por linha como é que eu poderia fazer isso agora que vai entrar um comando um outro comando básico aqui que eu vou apresentar para vocês que o comando distinct
Então sempre que eu quiser trabalhar com com valores distintos trabalhar com valores distintos nós vamos usar o distinct como é que vai funcionar o distinct bom dessa vez eu quero saber quais são as marcas de produtos com que a gente sabe até agora que que a gente poderia rascunhar aqui ah eu vou fazer um select na coluna marca produto from a tabela produtos beleza vamos tentar descobrir aí quais são as marcas dos produtos se eu executar isso aqui que que eu vou ter como resultado eu vou ter a coluna marca produto sendo selecionada só que
repara da forma como eu fiz aqui eu selecionei todas as linhas da coluna marca produto todas todas todas todas então tenho Inclusive acho que se repetem D aqui D aqui D aqui D apareceu de novo Samsung Samsung Samsung Então não é exatamente isso que eu quero eu quero olhar pra coluna marca produto Mas eu não quero visualizar Todas aquelas informações como é que eu faço para visualizar apenas aquelas que são distintas Eu quero uma listinha apenas com os produtos com com as marcas de maneira distinta eu vou usar o comando distin então para usar esse
comando eu vou fazer a seguinte adaptação eu quero selecionar a coluna marca produto como um todo não eu quero selecionar apenas os valores distintos distinct então select distinct marca produto from tabela produtos como é que eu leio isso daqui selecione os valores distintos da tabela marca produto e da coluna marca produto da minha tabela de produtos selecionando esse código aqui e executando eu vou ter como resultado uma listinha com apenas os as marcas distintas E agora fica muito mais fácil de eu repassar lá pro time responsável e falar ó Esses são os fornecedores que você
as marcas que vocês vão precisar entrar em contato Dell Samsung logtech altura Sony JBL HG e blue tá aí uma coisa que é muito comum principalmente das pessoas incrédulas né as pessoas F assim não nem ganhei tanto tempo assim eu poderia só ter olhado na tabela só que acontece pessoal no nosso dia a dia nós fazemos uma centena de coisas que individualmente pode ser que não faça tanta diferença eu resolvendo no olho mas quando a gente tá falando do volume né imagina que você durante o dia precisa fazer essa conferência 10 vezes fazer uma vez
só você não perde tanto tempo mas você fazer 10 vezes você vai ter que multiplicar por 10 o tempo que você leva para fazer um então tudo que você P otimizar vai ajudar muito então esse distinct vai ajudar justamente nisso pegar as informações distintas e te trazer ali numa listinha vai ficar muito mais fácil uma outra coisa que a gente vai fazer daqui a pouco na aula é por exemplo beleza eu tenho as marcas dos produtos Mas qual é a quantidade de marcas por produto quantos produtos eu tenho da marca Dell quantos eu tenho da
Samsung da logtech e assim vai a gente vai aprender daqui a pouco como fazer Tá mas por enquanto nós vimos como criar valores distintos ali na nossa tabela né como buscar valores distintos ali na nossa tabela fechado então usamos aí o comando distinct que outro comando nós poderemos usar ali para manipular de forma mais básica as nossas consultas bom agora a gente poderia trabalhar com um comando que permite a gente ordenar as informações de uma tabela então ordenar as informações de uma tabela que que é ordenar as informações de uma tabela vamos lá vamos fazer
um select mais uma vez eu vou selecionar as informações da tabela de produtos tá Fica tranquilo Se eu tô indo um pouco mais rápido na hora de criar os códigos Mas é porque esse código aqui a gente já sabe como fazer não preciso né ficar muito tempo ali para para escrever esse select então vou fazer um pouquinho mais rápido então tá lá select asteristico from produtos Então eu tenho essas informações aí beleza da forma como tá aqui como que ele tá ordenando essa tabela batendo o olho ele ordena essa tabela ou seja ele classifica essa
tabela de acordo com a coluna ID do produto então ó produtos 1 2 3 4 5 e assim vai só que eu poderia querer mudar a ordenação dessa visualização em vez de os produtos em ordem de ID do produto eu poderia dizer para ele que outra coluna eu quero utilizar para fazer aquela ordenação por exemplo eu quero visualizar os produtos de acordo com o seu preço preço unitário do maior menor do menor maior para fazer isso nós utizamos ali esse recurso de ordenar com o comando chado Order by comando order perm a gente fazer essa
ordenação como é que vai funcionar Bom a partir de agora a gente vai começar a colocar e comandos a mais no nosso código repara que a gente já começou a deixá-lo um pouquinho mais complexo aqui no distinct a gente acrescentou mais um comando Order by vai ser um outro daqui a pouco a gente vai ter um código gigante Mas vamos por parte como é que eu faço para ordenar a minha tabela de produtos a partir da coluna preço unitário por exemplo bom primir sonei a minha tabela só que eu precisar fazer uma outra coisa então
meu comando não acabou ter que apagar esse ponto vula apag ponto ví e agora um enter aqui eu o comando que permi ordenar informação como que é estrutur eu o Order by dizer qual o nome daun por enquanto eu t falando de forma genérica aqui e depois eu vou dizer se eu quero ordenar de forma crescente ou seja Ask ou decrescente Desk então ou eu vou ordenar pela coluna em ordem crescente ou decrescente Então vamos lá aqui no caso eu quero ordenar a minha coluna de preço a minha tabela de produtos de acordo com o
preço unitário então Order by preço unitário eu quero ordenar isso aqui em ordem crescente Vamos fazer assim pra gente visualizar como é que fica então vou selecionar esse código vou executar e olha só como é que vai aparecer agora Se eu olhar a coluna de ID do produto essas informações elas vão estar eh espalhadas né mas por quê Porque eu não tô não estou mais ordenando pela coluna ID produto eu estou ordenando pela coluna preço unitário e aqui no preço unitário ele vai me mostrar as informações em ordem crescente então eu começo ali com 280
350 450 até chegar no produto mais caro né com preço unitário 4.200 fechou Se eu quisesse o contrário eu poderia usar o desk então ó Desk o que que ele vai fazer vou executar e ele vai ordenar do maior pro menor legal então ordenar informações muito simples eu poderia deixar esse indicador aqui né esse nomezinho em branco poder deixar só assim Order by preço unitário se eu faço isso ele vai assumir um dos dois como padrão Ou o Ask ou o desk vamos ver qual que é o padrão se eu não colocar nada vou selecionar
vou executar e o padrão é o quê ordem crescente então se eu não coloco nada é a mesma coisa que eu colocar Ask Tranquilo então sem mistério nenhum eu posso ordenar tanto por uma coluna numérica como também por exemplo uma coluna de texto e aí eu não vou ordenar mais do menor pro maior ou do do maior pro menor eu vou ordenar do e em ordem alfabética ou de a a z ou na ordem contrária de Z até a Então vamos pegar aqui agora como exemplo a nossa tabela de clientes Então vou selecionar a tabela
de cliente e vamos dar uma olhada nela selecionei executei e aí tá lá temos aqui uma coluna né uma uma tabela que tem dentre as informações ali o nome da pessoa então nome certo eu poderia querer ordenar isso aqui em ordem alfabética de A até Z como é que ficaria então apaguei vou usar o Order by na coluna de nome e aqui eu quero ordenar o quê crescente ou decrescente né no caso o crescente é a mesma coisa de AZ decrescente seria de Z até a então se eu quero crescente né se eu quero de
A até Z eu posso deixar desse jeito aqui ou poderia escrever Asque tá então a vai apagar aqui vou deixar assim um ponto e vírgula e vou executar executei E aí tá lá ordenando em Horda alfabética a beb gí Adam e assim vai P pi P pó aí agora você pode se perguntar não pera aí mas isso daí não ficou tão legal assim por que que não ficou legal olhando aqui ó beleza ordenou o nome mas eu tenho ali por exemplo o Adam O Adam ele aparece duas Só que tem um que é Adam Ross
e tem um que é o Adam flores só que do jeito que tá aqui não tá em ordem alfabética né porque o Adam Ross tá vindo primeiro do que o Adam flores então ISO aqui não tá tão legal assim bom a gente poderia melhorar isso daqui fazendo uma uma ordenação dupla né uma ordenação com mais de uma coluna então eu posso ordenar por mais uma coluna então além de ordenar por nome eu vou ordenar por sobrenome Beleza então vou ordenar por nome e por sobrenome executando isso daqui olha só como é que vai ficar AB
abigaiu Adam Adam apareceu aqui só que agora o Adam flores aparece primeiro adan Ross aparece depois tá então posso fazer essa combinação também ordenar por mais de uma coluna E aí esse Ask esse des eu colocaria aqui ó Ask aqui e Ask aqui se eu ordenasse por mais uma coluna Beleza beleza então tá lá ordenação aí utilizando o comando Order Esse comando é muito útil pra gente para fazer organização classificação e assim vai tá a gente poderia usar com datas também tá no caso aqui ó data Nascimento vamos supor que eu quisesse ordenar Ali pela
data de nascimento então select select astero from clientes e vou ordenar Order by pela minha coluna de data Nascimento então selecionei executei e aí tá lá ele vai ordenar né da data mais antiga para a data mais recente então aqui ó o cliente mais velho é a Shannon né na verdade Shannon Wang nasceu em 21 de junho de 1964 e clarence Ray sexo masculino nasceu no dia 4 de outubro de 64 e assim vai tá então funcionaria também como data de nascimento Lembrando que se eu não coloco nada É como se eu tivesse colocando Ask
E aí ele vai ordenar do menor pro maior Se eu quisesse o contrário se eu colocasse aqui Desk agora selecionei executei e aí dessa vez eu tenho aqui ó desde o cliente mais novo até o mais velho então aqui eu tenho que a Ana Price ela é a mais nova né n no dia 15 de outubro e assim vai fechado então com isso nós utilizamos aí o Order by para poder criar ord ações a gente pode deixar um pouquinho mais interessante isso aqui tá da seguinte forma vou selecionar mais uma vez a minha tabela de
produtos select asterisco from produtos selecionei e executei vamos supor que eu quisesse criar um ranking aqui uma classificação bem simples onde eu quero visualizar e o top C produtos de acordo com o preço unitário do que a gente viu até agora para ordenar eu poderia fazer assim ó Order buy e preço unitário e como eu quero do maior pro menor eu usaria esse Desk né Então desse jeito aqui eu teria ali os preços ordenados do maior pro Menor Mas vamos supor que eu não quisesse visualizar todas as linhas dessa tabela eu quero visualizar só os
cinco primeiros só os cinco primeiros de acordo com o preço unitário como é que eu poderia fazer isso bom nesse caso eu poderia logo depois aqui do meu Order Buy usar um comando chamado limit e nesse comando eu vou dizer qual é a quantidade de linhas que eu quero visualizar né no caso eu quero por exemplo visualizar cinco linhas então selecione todas as minhas informações da tabela de produtos ordenando pelo preço unitário em ordem decrescente e limitando aí por cinco né Quero visualizar cinco cinco produtos Então vou selecionar vou executar E aí tá lá ele
vai mostrar cinco produtos é como se fosse um ranking ali Beleza então combinando Order by com limit é muito utilizado Então olha só até aqui a gente viu vários comandos básicos de consulta falamos sobre o select Como selecionar todas as colunas e selecionar colunas específicas falamos sobre identação de código então como é que a gente organiza o código né e pulando linhas né que seria basicamente eu chegar aqui e fazer assim ó pulei uma linha aqui aqui pulei outra linha aqui ó ó ordenei aqui se eu quisesse até ó poderia pular uma linha para produtos
e limite 5 né isso aqui seria uma identação então a gente falou sobre identação para organizar os códigos falamos sobre o Order by falamos sobre o alas né que que é o alas é aquele s para dar um apelido para uma coluna falamos sobre o límite também então até aqui a gente fez comandos mais de consulta básica né de visualização Agora vamos começar a dar uma incrementada aqui nessa brincadeira né então agora vamos começar a trabalhar com filtros tá vamos falar de filtros agora eh vamos falar de filtros tá filtros é um recurso muito importante
em banco de dados para que a gente possa trabalhar né com uma segmentação das nossas informações em vez de visualizar todas as informações visualizar apenas algumas de certa forma foi o que nós fizemos aqui com o limits tá E aí até respondendo uma pergunta né que pode surgir esse limite aqui pra gente poder limitar a quantidade de linhas ele é um dos poucos comandos que tem uma diferença de um programa para outro oql server por exemplo a gente usa Usa o comando top já no MySQL no post gre a gente usa o limit tá Mas
enfim o limits já é uma forma da gente limitar as informações que a gente quer enxergar eu não quero visualizar todas eu quero apenas algumas então é comum a gente querer fazer isso e o filtro vai permitir a gente a gente vai fazer justamente isso filtrar ou melhor né a gente conseguir visualizar apenas algumas informações ali da nossa tabela tá e filtros são uma coisa que estão presentes no nosso dia a dia de um jeito né Muito mais comum do que o que a gente imagina então pensa assim você entra lá num site para comprar
um celular né Ponto Frio por exemplo Hoje eu tô fazendo propagando para um monte de empresa né e não Estamos ganhando nada por isso já falamos de Netflix Instagram já falamos da XP falamos do do Itaú agora falando aqui da da do Ponto Frio mas tudo bem tudo bem se quiser patrocinar a gente aí fiquem à vontade mas vamos supor que você entrou lá no Ponto Frio você qu que comprar um celular e aí o que que você faz lá no Ponto Frio você no site você faz uma série de filtros né Você vai entrar
numa página num site com um monte de informação só que se você quer celular que você vai fazer você vai lá no menu aí você vai visualizar ah produtos quais são os produtos que eu quero visualizar eu vou marcar lá categoria celular pum aí marcou lá categoria primeiro filtro que você fez abriu uma tela apenas com celulares próximo passo é você fazer um filtro por exemplo para mostrar apenas o celulares da marca Motorola você marca a caixinha Motorola vai reduzir a quantidade de informações marcou aí você pode fazer uma outra filtragem ah não agora eu
quero visualizar apenas os os celulares da Motorola que são até que custam até R 1.000 você vai fazer outro filtro então filtro é uma coisa que a gente faz o tempo inteiro e ele é muito útil porque ele vai segmentar informações ele vai afunilar as informações em banco de dados Temos algo parecido eu tenho uma tabela com informações de cliente mas pode ser que eu não queira visualizar todas essas informações Pode ser que eu queira visualizar apenas as informações de cliente que são por exemplo eh do Estado de São Paulo ou os produtos que são
da marca Dell é uma forma de filtrar também como é que a gente vai fazer isso aqui no caso nós vamos utilizar filtros usando o comando u tá comando uare Então vamos lá vamos começar aqui tá essa parte aqui agora vai ser extremamente importante porque a gente usa bastante essa parte de filtros aqui no sk Então vamos lá vamos ver aqui onde que a gente poderia aplicar esses filtros vamos fazer aqui um select asterisco a nossa tabela de clientes tá fazer um filtro aqui simples uma consulta simples aqui só pra gente ver o que que
a gente pode brincar aqui então vamos lá tem uma tabela de cliente vamos supor o seguinte vamos supor que o marketing tá pegar uma aguinha aqui porque a boca já tá ficando seca e hidratação é importante vamos supor que o marketing né e ele quer fazer uma campanha aí uma ação campanha né para poder eh trabalhar al especificamente com o público de pais né pais e mães tá vamos botar aqui o dia do Dia das Mães então a a o marketing quer fazer uma campanha específica para o Dia das Mães e nós temos uma série
de clientes certo legal aqui na nossa tabela de cliente nós temos uma uma variedade de informações dentre elas a quantidade de filhos então uma coisa que poderia me ajudar que eu poderia fazer para ajudar a equipe de marketing é segmentar essa tabela para mostrar apenas os clientes que T filhos por se eu quero fazer uma campanha de marketing né um anúncio por exemplo Não Faz Sentido o marketing fazer anúncio para quem não tem filho ah compre aqui promoção de dia das mães tá tá tudo bem Pode ser que a pessoa vai comprar lá pro eh
pro pra mãe dela né mas vamos supor que o marketing ele quer atingir especificamente Quem é mãe né então eu preciso segmentar essa tabela não posso enviar ali uma campanha de marketing né de Dia das Mães aqui nessa estratégia para alguém que não tem filho então nosso papel aqui como analista né como consultor aqui de dados seria justamente fazer essa essa segmentação e essa coluna de quantidade de clientes de de quantidade de filhos nos permite fazer isso tá então uma coisa que eu poderia fazer aqui é em vez de selecionar todas essas informações da minha
tabela de clientes eu selecionar apenas aquelas com quantidade de filhos maior do que zero né ou maior igual a um que diz ali que aquela aquelas pessoas têm filhos né Mas beleza vamos lá vou fazer aqui um filtro que vai ser por exemplo we tá então aqui agora eu quero fazer um selected na minha tabela de clientes só que dessa vez eu quero filtrar apenas aqueles que T filhos tá Por enquanto é uma campanha para quem tem filhos tá eu falei ali Dia das Mães mas Vamos considerar quem tem filhos pode ser pai ou pode
ser mãe Então nesse caso eu só preciso verificar quem tem uma quantidade de filhos maior do que zero então Where e qual que vai ser a estrutura do meu comando a eu vou ter que dizer uma o nome de uma coluna e o filtro que eu quero fazer né pode ser maior do que um valor pode ser menor do que um valor pode ser igual a um valor e assim vai aqui no caso eu quero um filtro onde a quantidade de filhos é maior ou igual a 1 né ou maior do que zero ponto e
vírgula isso aqui já vai me trazer uma segmentação das minas informações considerando apenas os clientes que tem uma quantidade de filhos maior do que zero executando esse código aqui o que que é esperado é esperado que quem tem filho vai aparecer na minha consulta quem não tem filho não vai aparecer então o Ruben Torres ele tem três filhos ele tem que aparecer agora ch Z tem zero filhos não pode aparecer a Elizabeth Johnson tem cinco filhos pode aparecer o Júlio Ruiz não tem filhos não pode aparecer Então vamos selecionar essas informações selecionei executei e aí
tá lá como resultado eu vou ter apenas informações de quantidade de pessoas né de clientes que tem filhos maior do que zero quantidade de filhos maior do que zero então agora sim eu poderia ter e pegar essas informações enviar para o marketing e o marketing fazer lá a campanha dele para poder Enfim uma campanha ali de Dia dos Pais e dia das mães tá pais e mães participando aí dessa campanha tá aí a gente pode até ter a dúvida de pô beleza mas se eu quisesse de fato só quem tem filhos mas que é do
sexo masculino ou só quem tem filhos e é do sexo feminino a gente vai fazer isso daqui a pouco tá mas por hora a ideia é que ia mostrar para vocês como aplicar um filtro então aqui nós acabamos de utilizar um filtro de maior para descobrir quais são os produtos que eh Quais são os clientes que tem uma tem filhos né que são aqueles que tem a quantidade de filhos maior do que zero Vamos fazer outro exemplo tá imagina ainda que o setor de marketing ele quer fazer uma campanha de de vendas né na verdade
agora o comercial né ele quer fazer uma campanha de vendas em que ele quer falar especificamente com o cliente que tem uma renda anual acima de 50.000 então mais uma vez eu poderia fazer uma segmentação aqui tá eu tenho vários clientes a sua respectiva renda anual alguns deles têm uma renda anual acima de 50.000 outros T renda anual menor do que 50.000 então aqui eu poderia também utilizar um filtro para poder fazer essa segmentação eu quero visualizar apenas os clientes que tem uma renda anual maior ou igual a 50.000 então eu poderia usar o comando
select asterisco porque eu tô selecionando todas as colunas from a tabela clientes Where o quê eh a minha coluna de renda anual Ela é maior ou igual a 50.000 ponto e vírgula então essa seria uma outra forma né de utilizar um filtro aqui para poder descobrir quais são os clientes que tem uma renda anual maior a 50.000 maior ou igual a 50.000 Então vou selecionar esse código vou executar E aí tá lá eu não vou ter nenhum cliente com uma renda anual abaixo de 50.000 como é que eu posso ter garantia de que eu realmente
não tenho cliente com uma renda anual menor do que 50.000 eu posso combinar esse código inteiro aqui com um Order byy então Ó vou apagar esse ponto e vírgula e aqui embaixo eu vou escrever um Order byy para poder ordenar a minha coluna de renda anual vou selecionar o meu código vou executar e agora sim ele tá ordenando ali do menor pro maior a minha menor renda ali é 60.000 e depois vai crescendo ó 70.000 80.000 90.000 100.000 e assim vai então de fato esse filtro aqui está me trazendo apenas os clientes eh que tem
uma renda anual maior ou igual a 50.000 esse operador aqui pessoal eu poderia fazer eu poderia utilizar de várias maneiras eu tenho vários operadores eu tenho operador que é o operador maior o operador menor o operador maior ou igual o operador menor ou igual igual e tem um operador diferente tá então tem várias possibilidades aí que a gente vai usar de acordo aí com a nossa necessidade legal até agora a gente fez filtros ali com números né e repara que números a gente não pra a gente simplesmente escreve os números ali dentro vamos ver agora
como é que seria se eu quisesse fazer um filtro com texto por exemplo Então olha só imagina que ainda na tabela de de de clientes tá ainda tô trabalhando ali com a tabela de clientes imagina que agora eu quero descobrir apenas Quais são os clientes que são de uma escolaridade específica no caso aqui eu tenho várias escolaridades né nessa coluna nessa última coluna aqui eu tenho essa informação e vamos supor que eu quisesse apenas os clientes que são de escolaridade parcial quero fazer aí Alguma análise nesse sentido né quero saber quantos clientes que são de
escolaridade parcial compram usaria o comando a o nome da coluna e eu digo qual é é o o critério que ele tem que atender então escolaridade igual a bom mas como é que eu vou fazer aqui eu posso simplesmente escrever assim parcial desse jeito aqui não vai funcionar se eu simplesmente escrever o texto o o nome parcial dessa forma ele vai me dar um erro tá então se eu selecionar e executar eu vou ter aqui um erro aqui embaixo tá repara que não aconteceu nada no meu código exceto esse erro quando eu estiver trabalhando com
textos né eu não posso fazer dessa forma eu tenho que colocar entre aspas tá então coloco esse valor entre aspas e agora sim executando o meu código ele vai trazer para mim todo mundo que tem uma escolaridade parcial tá então textos sempre precisam estar entre aspas legal então mais um exemplo aí de como fazer filtros aqui no SQL tá vamos fazer mais um exemplo ali agora eh na minha tabela de produtos né só para ficar bem claro quero selecionar agora as informações da minha tabela de produtos Vamos dar um ponto e vírgula aqui só pra
gente poder lembrar Quais são as informações que tem ali dentro então tenho aí essas informações vamos supor que Eu queiro apenas os produtos que são da marca Dell vou vir aqui logo depois desse ponto e vírgula e vou colocar Where marca produto é igual a Dell beleza selecionei executei e eu vou ter como resultado ali apenas os produtos que são de uma marca específica então com isso a gente conseguiu né ver como criar filtros dentro do nosso banco de dados extremamente simples utilizando o comando weare só que vamos lá agora uma algumas dúvidas Começam a
surgir na utilização do comando we né para fazer filtros Marcos você tinha comentado lá daquele exemplo de descobrir quais são os clientes com filhos mas que são mães ou seja são do sexo feminino e tem filhos como é que poderia fazer isso da forma como a gente resolveu ó deixa eu voltar aqui né Ó vou selecionar esse código e vou jogar aqui para baixo tá a gente já fez esse código não precisa fazer novamente Então olha só a gente viu ali que para descobrir quem tem filhos a gente faria dessa maneira tá select asterisco from
clientes onde a quantidade de filhos é maior do que zero só que vamos lá da forma como a gente fez aqui nós vamos trazer todos os clientes que T filhos só que uma dúvida que pode surgir é não beleza mas agora eu lá do marketing tô te falando que a estratégia vai funcionar Apenas para quem é pai né não quero saber quem são as mães Eu quero saber quem são os pais ou seja os homens que têm filhos como é que eu crio esse tipo de filtro né que na verdade aqui ele deixa de ser
um filtro único e passa a ser um filtro composto um filtro com mais de uma condição em que eu preciso saber quem são os clientes do sexo masculino e que além disso tem uma quantidade de filhos maior do que zero separadamente nós conseguiríamos fazer isso para saber quantos T filhos a gente faria dessa forma select asterisco f from clientes onde a quantidade de filhos é maior do que zero e para descobrir quem é do sexo masculino a gente poderia vir aqui e escrever sexo igual a m de masculino selecionei executei e aí tá lá Tenho
apenas os clientes que são do sexo masculino mas como é que eu poderia combinar as duas coisas saber quais são do sexo masculino e que além disso tem filhos é aí que vai entrar o nosso filtro combinado e a gente para conseguir criar esse tipo de filtro que é um filtro com mais uma condição nós utilizamos eh o operador end que vai permitir a gente fazer mais um de um filtro de uma vez Então sempre que eu quiser fazer mais de um filtro dentro ali do Where eu vou precisar trabalhar com o and então no
caso aqui agora eu quero saber quem quem é do sexo masculino né Quem é pai e que tem filho para fazer essa combinação logo depois aqui da minha primeira condição eu vou colocar uma segunda condição mas para ele saber que eu vou colocar uma nova condição eu preciso escrever a palavra and por a partir de agora ele vai entender que eu vou fazer um outro filtro esse outro filtro vai ser por exemplo quantidade de filhos quantidade de filhos maior do que zero ponto e vírgula então agora eu vou ter ali dois filtros acontecendo de uma
vez e o resultado ele deve atender Obrigatoriamente esses dois filtros ser do sexo masculino e a quantidade de filhos ser maior do que zero então repara que aqui ó todos esses aqui da forma como a gente fez são do sexo masculino mas o Ruben Torres ele tem três filhos ele vai entrar agora o Júlio Ruiz ele é do sexo masculino mas não pode entrar o Marco meta tem três filhos pode entrar Shannon o Shannon Carlson tem zero filhos não pode entrar então quando eu executar esse código aqui eu vou ter que ter como resultado apenas
pessoas que são pais que são do sexo masculino e tem uma quantidade de filhos maior do que zero então repara que aqui eu nunca vou ter alguém do sexo masculino que tenha zero filhos como é que a gente pode conferir isso aqui eu posso colocar um Order by aqui no final de acordo ali com a quantidade de filhos quantidade de filhos selecionei executei e reparo que sempre vai aparecer alguém que tenha filhos então com isso nós utilizamos o comando Where em conjunto com o and pra gente poder criar filtros duplos eu poderia criar mais condições
mais filtros imagina agora que eu quisesse todo mundo que fosse do sexo masculino que a que o a quantidade de filhos fosse maior do que zero e e também que fossem do e da escolaridade parcial então viria aqui colocaria um novo end e escolaridade igual a parcial beleza sem ponto e vírgula porque meu comando Ele termina aqui embaixo então selecionei executei e aí tá lá todo mundo do sexo masculino todo mundo com quantidade de filhos maior do que zero e todo mundo parcial então repara que o and ele vai obrigar que todas essas condições sejam
satisfeitas para que eu tenha como resultado a minha consulta final eu nunca vou ter alguém que é do sexo masculino sem filhos ou alguém que é do sexo masculino e que é de escolaridade graduação isso nunca vai acontecer isso na lógica do and Mas eu também tenho uma outra lógica que é a lógica do or que é uma lógica em que ele traz uma informação ou outra dependendo ali da condição que a gente explicitar vamos vamos fazer um exemplo aqui ó vamos fazer mais um exemplo dessa vez na nossa tabela de produtos Então vamos lá
ponto e vírgula selecionei executei vamos supor agora tá que eu queira todos os produtos que são da marca Dell e tem um preço unitário maior do que 1000 Então olha só vou usar o comando marca produto tem que ser igual a d e além disso o preço unitário tem que ser maior ou igual a 1000 tá vou executar esse código aqui que não tem nada demais a gente já aprendeu o que que ele significa quero selecionar todos os produtos onde a marca é igual a d e o preço unitário é maior do que 1000 repara
que dessa forma eu nunca vou ter alguém que é de outra marca que não seja d e que tem um preço menor do que 1000 essas duas regras precisam ser atendidas para que o end funcione só que eu poderia no lugar do end ter o or e qual que é a lógica do or nessa lógica o que ele vai trazer para mim como resultado é todos os produtos que são da marca Dell Ou que tenha um preço unitário maior ou igual a 1000 qual que será que vai ser a diferença na prática vamos executar aqui
e vamos ver que que vai aparecer Então olha só repara que tivemos mais de um eh Mais resultados ali aparecendo né Por quê dessa vez eu tô dizendo para ele que pode ser da marca Dell ou da ou o preço unitário maior igual a 1000 eu não preciso que as duas coisas aconteçam ao mesmo tempo então repara que aqui ó por exemplo eu tenho um produto que é da marca Dell e o preço é 2.300 beleza atendeu as duas condições mas aqui ó eu tenho um produto que é da marca Samsung opa não atendeu essa
primeira condição mas se não atendeu a primeira tem que necessariamente atender a segunda e repara que o segundo preço unitário 2.800 a Aí sim aí funciona esse é da marca Dell mas o preço unitário é menor do que 1000 mas tudo bem ele atendeu essa primeira regra aqui e assim vai né na lógica do or ele vai trazer sempre os produtos que atenderem a essa regra ou a essa regra legal então essa aí essas seram as formas de nós criarmos filtros duplos né triplos ou enfim quantos a gente quisesse eu poderia colocar outro or aqui
né Depois aqui eu poderia colocar um um outro or ou fazer um end eu posso combinar os dois também tá bom então fizemos aí exemplos de como trabalhar com o end e como trabalhar com o or além desses operadores and e or que a gente utiliza em conjunto com o er nós temos outros também tá vamos lá vamos ver um novo aqui agora dessa vez imagina o seguinte tá imagina que eu quero selecionar todos os produtos que são Daca d ou Samsung ou dacca Samsung nós já temos conhecimento suficiente aqui resolver esse problema como é
que ficaria select asterisco a nossa tabela de produtosde o qu a marca do produto ela vai ser igual a ou ou a marca do produto vai ser igual a Samsung detalhe importante tá mesmo eu utilizando a mesma coluna para fazer o filtro eu preciso repetir nos dois lados aqui o nome da coluna que eu quero filtrar eu não poderia simplesmente fazer assim ó ah marca produto igual AD ou Samsung isso aqui não funcionaria Eu precisaria necessariamente colocar ali o nome da coluna que eu quero filtrar Então desse jeito aqui eu quero todos os produtos que
são Daca Dell ou da marca Samsung vou selecionar esse código vou executar E aí tá lá Ele me trouxe todo mundo que é da marca Dell ou da marca Samsung eu posso querer adicionar aqui mais uma opção né ah que seja D Samsung ou por exemplo eh altura é um outro outra marca que tem ali então viria aqui colocaria um novo or marca produto igual a altura selecionei executei aí apareceu ali mais alguns produtos né eu poderia fazer assim com quantas marcas eu quisesse só que vamos lá será que essa é a maneira mais otimizada
de resolver essa questão cada vez que eu quero mais um produto mais uma marca eu tenho que acrescentar um novo or E se eu quisesse cinco marcas eu teria que fazer um monte de or aqui funcionaria funcionaria mas não seria a a maneira mais adequada é Ou pelo menos a maneira mais otimizada então no lugar do or pra gente fazer esse tipo de filtro né em que eu quero eh fazer um filtro numa mesma coluna em vez do or eu posso utilizar o operador in tá como é que funciona o operador in então se eu
quisesse fazer a mesma coisa tá eu quero selecionar os produtos que são da marca Dell Samsung altura só que de uma forma de uma forma simplificada como é que eu poderia fazer select asterisco from a tabela de produtos where o qu a marca do produto que que vai mudar aqui agora para eu poder utilizar esse operador in Tá eu vou utilizar o comando in e aqui eu vou passar para ele uma lista então eu vou querer que ele retorne para mim todos os produtos que tenham um valor que pertença a essa lista e como é
que eu passo essa lista eu passo essa lista entre parênteses e o nome de cada valor entre aspas separado por vírgula então poderia fazer Dell vírgula Samsung vírgula altura ponto e vírgula então isso daqui vai ser uma outra forma de resolver aquele problema ali anterior que a gente utilizou o or vou selecionar vou executar e olha só eu vou ter o mesmo resultado só que dessa vez de uma maneira muito mais otimizada e mais simplificada Eu não preciso ficar toda hora aqui escrevendo o nome da coluna marca produto para poder funcionar então repara a diferença
né Então deixa eu fechar aqui e vamos ver a diferença entre os dois compara aí o que que você acha melhor esse daqui ou Esse aqui é mais fácil né Não só esse aqui é mais fácil como também é mais elegante né Deixa o seu código mais simplificado mais bonito então o in ele vai ser uma alternativa ao or tá então é uma opção bem interessante aí para você utilizar Quando você trabalhar com esse tipo de filtro né Eu quero eh filtrar uma determinada coluna e eu aceito Vários valores que estão presentes ali naquela coluna
nesse caso aqui ele trouxe todos os produtos que são de uma dessas três marcas fechado então tá lá esse foi o nosso operador in Beleza agora vamos ver outra possibilidade aqui imagina que eu queira selecionar né Agora vamos fazer uma análise em cima da nossa tabela de produtos vou voltar a selecionar essa tabela select asteris from produtos e executei tá select executei E aí tá lá imagina que agora o quera fazer um filtro que dessa vez vai ser um filtro de intervalo eu quero todos os produtos que TM um preço unitário maior do que 1000
e Menor ou igual maior ou igual a 1000 e menor ou igual a 3.000 como é que eu poderia resolver isso né esse aqui ó por exemplo entraria no meu filtro porque ele é 2300 ele tá entre 1000 e 3.000 esse também tá entre 1000 e 3.000 esse aqui não tá não entraria esse também não tá entre 1000 e 3.000 e assim vai como é que eu poderia fazer isso a gente consegue resolver utilizando o Ener certo então ó quero todos os produtos onde o preço unitário ele é maior ou igual a 1000 e preço
unitário menor ou igual a 3.000 um filtro de intervalo selecionando isso aqui executando ele vai trazer para mim apenas os produtos que T um preço entre 1000 e 3.000 até aí tudo bem mas mais uma vez será que não teria uma forma mais elegante de resolver isso aqui uma maneira mais otimizada mais simplificada sim da mesma forma que o or tem uma alternativa que vai ser o in então da mesma forma que a gente utilizou como alternativa ao or o in a gente pode utilizar como alternativa ao and o Bin então para resolver problemas onde
eu tô trabalhando com intervalos em vez de usar o and eu posso resolver utilizando o between como é que vai funcionar usando o bwin eu vou fazer um select da minha tabela por exemplo tabela produtos we preço unitário preço unitário ele vai estar entre ou seja between o número mínimo e um número máximo dessa forma aqui eu consigo resolver o problema anterior só que de uma maneira mais simplificada Quem vai ser o meu mínimo meu mínimo vai ser 1000 quem vai ser o máxximo vai ser 3.000 3.000 Então agora eu quero selecionar todos os produtos
que T um preço unitário entre 1000 e 3.000 selecionando aqui e executando eu vou ter como resultado a mesma coisa só que com a diferença de qu agora o meu código tá muito mais simplificado então em resumo né para para o operador in eh and podemos usar podemos podemos usar como alternativa o in já Opa o in já para o and para o operador para o operador or corrigindo aqui né podemos usar o in e para o operador and podemos usar como alternativa o b né quando a gente quiser falar de intervalos né então está
entre um valor e outro valor né podemos usar o b fechado então esse aí foi uma outra essa foi uma outra forma da gente trabalhar aí com o combinando com os operadores in e between E aí a gente já falou sobre o and já falamos sobre o or já falamos sobre o in e já falamos sobre o between tem um outro operador bem interessante que eu vou mostrar aqui para vocês agora mas vamos ver um contexto aqui tá vou selecionar mais uma vez a minha tabela de produtos select asterisco from a minha tabela de produtos
selecionei executei Então vamos lá o que que nós temos aqui nessa tabela nessa tabela nós temos as informações ID do produto nome do produto ID da categoria marca do produto número da série preço unitário custo unitário e eu tenho aqui duas colunas que T alguns textos a mais ali dentro sabe diferente ali de marca do produto que é um texto único eu tenho ali por exemplo o nome do produto que aparece uma descrição do produto né então aqui é monitor LED 19 polegadas 19,5 né monitor curva 24 polegadas cadeira Gamer reclinável tal tal tal tal
tal tal da mesma forma que esse número de série aqui né aqui eu tenho esse mnt traço DL e um um código de série O que que significa isso aqui mnt é de monitor DL é a marca Dell e um número de série Agora eu tenho aqui esse mic que significa microfone AK é da akg e o número de série e poderia acontecer de por exemplo eu queria filtrar nessa tabela apenas quem é eh microfone mas como é que eu poderia fazer isso né filtrar apenas os produtos que são microfones não tem nenhum lugar em
que eu tenha exatamente o texto microfone escrito eu tenho por exemplo no nome do produto o texto microfone escrito aqui mas aqui tem microfone condensador microfone de mesa da mesma forma que aqui eu tenho esse mic que identifica que é um microfone mas ele tem um monte de texto ali dentro mic traço AK mic traço BL mas ainda assim como é que eu poderia resolver isso filtrar apenas os produtos que são microfones é aí que entra um filtro que vai ajudar a gente a encontrar textos que estão contidos dentro de um texto maior um filtro
de Contém por eu quero basicamente poder filtrar aqui todos os produtos que no nome do produto tem escrito microfone interessa se ali tá escrito Outra coisa o que interessa é dentro do texto tem que est escrito o microfone que que eu poderia fazer aqui nesse caso pra gente trabalhar com esse tipo de filtro que faz um um uma um filtro de né de procurar uma determinada palavra dentro do texto a gente vai utilizar o comando o operador like tá então eu ainda quero fazer um filtro Então vou usar o comando o nome da coluna que
vou querer filtrar é por exemplo nome do produto mas dessa vez eu quero usar o comando que vai permitir eu fazer um contém né que vai ser justamente o like e aqui eu vou ter que dizer qual é o padrão de t que eu quero encontrar E aí no meu caso ali vai ser microfone tá então aqui que que vou ter que escrever entre aspas microfone ponto e vírgula vamos ver Isso aqui vai ser suficiente então que que eu tô dizendo aqui ó eu quero selecionar todos os meus produtos onde o nome do produto contenha
né de alguma forma tenha contido ali o texto microfone vamos ver se vai funcionar isso aqui vou selecionar e a princípio Não apareceu nada ele mostrou o cabeçalho né não é que deu erro né funcionou diferente das outras vezes em que não apareceu nada e foi porque deu um erro não aqui funcionou só que ele não encontrou ninguém com o texto microfone por porque desse jeito que eu escrevi ele está procurando quem tem exatamente o texto microfone escrito Só que não é isso que eu quero eu quero quem tem o texto microfone contido ali dentro
tá então no caso eu vou ter que de alguma forma dizer para ele que ele tem que verificar se aquele texto está contido ali dentro né então por isso que a gente vai precisar usar uma coisa que a gente chama de Wild Card tá Wild Card Tá o que que é isso é um caractere especial que vai me permitir dizer para o skl o seguinte beleza eu quero que você procure pelo padrão microfone mas ele precisa estar contido no texto não necessariamente ele tem que ser o texto completo ele tem que estar contido e a
gente vai ter que usar esse Wild Card né que é o nome técnico mas que aqui é simplesmente eu colocar um sinal de porcentagem no começo sinal de porcentagem no final tá porque aqui dessa forma ele vai conseguir eh entender que o que eu quero fazer na verdade a colocar eh encontrar quem tem o texto microfone contigo ali naquela palavra Tá bom então vamos executar isso aqui ó deixa eu apagar e vamos executar selecionei executei e agora sim ele vai verificar todo mundo que tem o texto contido microfone ali dentro e vai retornar para mim
tá então com isso nós chegamos aí nesse resultado da mesma forma que eu poderia ter usado também a coluna de número série então aqui ó em vez de trabalhar com a nome produto eu poderia colocar num série tá num série P num série e aqui ele teria que eh identificar o Mick né de microfone se eu executar isso daqui eu vou ter como resultado também o mesmo valor tá o mesmo valor esse recurso aqui ele é muito ele é muito útil para que a gente possa fazer esse tipo de filtro né um filtro de conté
e às vezes vai ser necessário eu tenho uma palavra enorme ali e eu quero verificar se uma está ali contida naquele texto Tá bom agora uma um último detalhe aqui sobre esse Wild Card né que é esse sinal de porcentagem n tem um motivo pra gente colocar esse sinal de por entem no começo no final quando eu coloco esse essa organização aqui né sinal de porcentagem no começo nome sinal de porcentagem no final o que ele tá dizendo o que ele tá verificando ali é o seguinte ele tá vendo uma palavra e tá verificando se
dentro dela tem o texto mic Não interessa se tem alguma coisa pra esquerda se tem algum texto escrito pra esquerda Não interessa se tem um texto escrito paraa direita o que interessa é que no meio tem essa informação só que eu poderia por exemplo não colocar Esse asterisco no começo eu botaria só no final e o que que significaria isso significaria que eu quero todos os textos que tem o texto mic mas que necessariamente começam com esse texto precisam começar com esse texto e o que vem à direita não interessa tá se eu selecionar aqui
e executar eu vou ter o mesmo resultado mas agora se eu fizer o contrário o que que nós vamos ter né se eu botar agora o o o o o sinal de porcentagem no começo e não colocar no final significa que ele vai começar com alguma coisa pode começar com alguma coisa mas tem que necessariamente terminar com mic se eu selecionar isso aqui e executar não vai trazer nada como resultado tá então a gente pode brincar com a posição daquele sinal de porcentagem né entendendo que a posição daquele sinal de porcentagem vai depender ali eh
da de como ele vai verificar a palavra ali dentro se ela tem que estar contida no meio não interessa Em qual posição se ela precisa necessariamente começar com mic ou se ela precisa terminar com o mic fechado então só Abrindo um parênteses aí para vocês entenderem como é que vai funcionar Tá então com isso a gente viu várias aplicações do em conjunto com operadores operadores aí que podem ser os Ades and os os operadores and or like in e between tá com isso aí a gente conseguiu trabalhar bastante aí com filtros de maneira bem avançada
então com isso a gente fechou o nosso e na verdade tem mais um detalhe aqui que eu quero mostrar para vocês né Vamos lá antes de finalizar aqui tem uma coisinha aqui que é muito importante também olha só voltando aqui pro nosso select produtos tá deixa eu executar aqui vamos lá eh Aqui nós temos as informações de produtos beleza só que às vezes né nas nossas tabelas nós vamos ter uma coisa chamada um valor nul valor nulo que que é o valor nulo é quando a gente tem ausência de valor é quando não existe um
valor ali naquela tabela e ela fica ali como sendo um espaço sem nada né E sempre que isso acontecer também nós podemos fazer filtros especiais por exemplo aqui nessa tabela de produtos eu não tenho nenhum valor nulo para mostrar como exemplo mas eu tenho uma tabela de clientes e a gente vai entender o que que significa esse valor nulo Tá então vamos lá clientes vou selecionar vou executar eu tenho aqui ó uma tabela com várias informações e dentre elas eu tenho informações ali no na coluna de telefone com valor nulo esse valor nulo ele significa
que eu não tem um valor ali dentro né e de alguma forma eu poderia querer filtrar aquele valor para mostrar aquele valor ou não mostrar aquele valor Então nesse caso aqui eu tenho uma outra forma de fazer filtros que é um filtro especial com valores nulos Então como é que eu faria por exemplo para visualizar apenas os valores nulos aqui nessa tabela né apenas eh os clientes que não tem telefone né que tem um valor nulo ali no telefone Então olha só eu viria aqui selecionaria toda todas as colunas ali da minha tabela o o
qu o meu telefone telefone ele é nulo is nul tá isso daqui vai trazer para mim como resultado apenas os clientes que t o telefone igual a nul legal Da mesma forma que eu posso filtrar os clientes que t o telefone nul eu posso filtrar aqueles que não tem o telefone igual a nul né ou seja is not nul então selecionando aqui e executando eu vou ter como resultado todos os clientes que T algum valor ali dentro do meu da minha coluna de telefone tá Por que que isso pode ser interessante Às vezes a gente
tem no banco de dados informações incompletas e usar esse filtro de isnull ajuda a gente Justamente a conseguir identificar essas informações né identificar esses valores faltantes para que a gente possa e tratá-los então por exemplo eu tenho aqui seis clientes que eu só tenho o contato de e-mail eu não tenho contato de telefone então o que que aconteceu faltou fazer o cadastro Será que eu posso enviar um e-mail perguntando o telefone dessas pessoas para que eu possa adicionar aqui na minha tabela Então esse filtro aqui ajuda também a identificar esses valores que a gente não
conseguiu mapear anteriormente fechado então com isso a gente agora sim fecha o nosso segundo bloco onde nós falamos aí sobre Como trabalhar com comandos básicos né consultas básicas e primeiros códigos no SQL então nós falamos sobre o select falamos sobre o distinct falamos sobre o Where falamos sobre o Order by o limit o em conjunto com or com com com between com like e com o is fechado Vamos agora para um out Bloc tá agora a vai nos bloco dentro lá do nosso planejamento é o bloco de análise de dados no SQL então agora A
ideia é a gente aprender comandos que vão permitir a gente conseguir visualizar os dados ali dentro de uma maneira mais otimizada de maneira mais inteligente né E a gente vai aprender novos comandos aí para ajudar a gente com isso primeiro passo aqui vai ser criar uma nova janela como essa aqui de consulta tá vou criar uma nova janela em branco para poder trabalhar os meus códigos então eu vou vir aqui ó nesse simbolozinho aqui deais tá aqui onde tá escrito esse SQL para que eu possa criar uma nova janela de consulta onde ali eu vou
criar o meu código beleza vamos agora falar então sobre análise bloco 3 bloco 3 análise de dados no SQL Então vamos lá que que seria essa parte parte de análise de dados no SQL A ideia é que agora a gente conseguir olhar para os nossos dados e tirar algumas conclusões mais interessantes né olhar para eles de uma maneira um pouquinho mais estratégica e com os comandos que Nós aprendemos até agora a gente já consegue fazer consultas básicas a gente consegue fazer filtros mas a gente ainda não consegue analisar tão profundamente esses dados e agora A
ideia é a gente começar a fazer isso né através de cálculos né como é que eu faço contagens como é que eu faço médias somas como é que eu faço agrupamentos e assim vai então vamos lá vamos começar aqui agora falando sobre cálculos dentro do SQL Existem algumas funções que permitem a gente fazer cálculos de forma mais automática e que vão ajudar a gente nas análises né geralmente né para fazer alguma análise a gente quer fazer alguma Contagem uma soma uma média um mínimo um máximo e assim vai E para isso nós vamos usar alguns
comandos né algumas funções que são elas a função count a AVG e Max Essas são as funções que a gente vai comear a aprender a partir de agora só eu quero dedicar um pouquinho mais de tempo na função é uma função que tem umaid n é important a gente entender vamos lá vamos pensar num contexto aqui n num contexto imag o seguinte vamos selecionar ali a nossa tabela de produtos select asterisco from a nossa tabela de produtos selecionei executei e aí tá lá vamos supor que eu queira contar a quantidade de produtos nessa tabela como
é que eu poderia contar a quantidade de produtos né de uma maneira simples eu poderia simplesmente olhar aqui pra minha janela de outputs que fica aqui embaixo e aqui nessa última linhazinha aqui onde eu tenho esse select asterisco from produtos ele me mostra a quantidade de linhas que são retornadas Eu tenho 16 linhas então no caso eu tenho 16 produtos mas como é que eu posso fazer isso através de código né de um código SQL aí que entraria a nossa função count Então vamos lá como é que eu faço para contar aqui eu vou fazer
um select e logo em seguida eu vou usar a função count só que a função count ela é uma função que me pede um argumento tá alguma coisa que eu vou ter que contar se eu quero contar eu quero contar alguma coisa Geralmente eu quero contar uma coluna então para eu contar a quantidade de produtos eu posso fazer uma contagem em cima da minha coluna de produto nome produto tá select count nome produto Então quero fazer uma contagem na minha coluna de produto from o quê a minha tabela de produtos Beleza então para fazer uma
contagem eu vou usar essa estrutura aqui selecione a contagem de produtos de nome do produto eu vou usar uma coluna para isso from a minha tabela de produtos selecionando isso aqui e executando eu vou ter como resultado o número 16 que é exatamente a quantidade de produtos que eu tenho naquela tabela 16 produtos legal poderia colocar uma outra coluna aqui poderia né Vamos lá vamos selecionar aqui a tabela novamente e vamos ver que outras colunas ali eu tenho nessa tabela usei a coluna nome produto poderia usar por exemplo a coluna marca produto marca produto para
fazer essa Contagem Eu quero fazer uma contagem dos valores que eu tenho naquela coluna Então vou selecionar vou executar E aí tá lá tem o mesmo resultado será que vai fazer diferença se eu usar uma outra coluna vamos ver aqui ó outra coluna que eu poderia usar por exemplo preço unitário e aí eu vou colocar aqui na contagem preço unitário vou selecionar vou executar e tem como resultado Então vamos lá por que que eu me tornei um pouco repetitivo aqui aparentemente não importa a a coluna que eu conto eu tenho o mesmo resultado porque se
ele vai contar a quantidade de valores eu tenho todos os valores preenchidos ali ele vai me trazer como resultado né aquele número 16 que não mudou mas será que é sempre assim vamos dar uma olhada agora na nossa tabela de clientes então vou fazer um select tá asterisco from a nossa tabela de clientes vou selecionar vou executar E aí tá lá como eu sei a quantidade de clientes que eu tenho nessa tabela eu posso da maneira mais simples visualizar aqui ó no meu output que eu tenho 100 linhas retornadas beleza até aí tudo bem mas
como é que eu faço isso utilizando um código mais uma vez eu vou usar o código count né o comando a função count Então vou vir aqui embaixo e vou colocar select count e vou escolher uma coluna que eu quero contar por exemplo a coluna de nome então nome from a nossa tabela de cliente Beleza selecionei vou executar eu tenho lá como resultado o número 100 beleza poderia usar outra coluna vamos ver selecionei agora eu quero visualizar né a contagem ali considerando a coluna de e-mail Então e-mail vou selecionar vou executar e ti o número
100 também pô beleza Marcos já entendi que pode ser qualquer coluna então assim para que que você tá fazendo isso né Toda hora vamos lá qual é o cuidado que nós precisamos tomar agora eu vou em vez de selecionar fazer a contagem em e-mail eu vou fazer a contagem em telefone na coluna de telefone e vou executar esse código selecionei executei e repara que eu vou ter como resultado 94 bom então alguma coisa tá esquisita Como assim até agora a gente viu que aparentemente não fazia diferença qual coluna eu selecionava eu podia selecionar coluna eh
de nome coluna de meio coluna de marca etc e sempre dava o mesmo resultado mas coloquei telefone agora deu diferente por que será que deu diferente será que você tem algum palpit né Pensa aí pensa por 5 segundos Por que que ele me retornou 100 quando eu coloi a contagem na coluna de nome nauna de e-mail não na de telefone Vamos tentar entender seleci auna deaba deente novamente e vamos olada aqui especificamente naun deef ol S nessa coluna deef que a gente temado n diferente tem algumas linhas ali dessa tabela tem alguns valores dessa tabela
com esse valor nulo aqui valor nul O que que significa isso significa que determinadas informações ali Elas não têm um valor associado Elas têm um valor nulo e o que que acontece né O que que acaba acontecendo na prática a função count ela desconsidera valores nulos Então se na minha coluna que eu utilizo para fazer a contagem eu tenho valores nulos esses valores vão ser desconsiderados então Por que a minha Contagem em vez de 100 deu 94 porque eu tenho seis valores na coluna de telefone que são valores nulos por isso a diferença tá então
Qual o cuidado que eu queria trazer aqui para você na hora que você for trabalhar com a função count lembre-se que caso a coluna que você considerar tenha valores nulos como resultado você vai ter uma contagem desconsiderando esses Val valores nulos Em algumas situações pode fazer diferença em algumas situações Realmente você pode querer fazer dessa forma Ah não eu quero fazer uma contagem quero considerar somente os os valores que não sejam nulos né ou melhor eu só quero considerar os valores que estejam preenchidos ali eu quero desconsiderar os nulos mas vão ter situações para você
é indiferente não eu não quero me preocupar com isso vão ter situações você vai falar assim cara eu só quero contar a quantidade de linhas eu quero saber o total de clientes total de produtos total de lojas e assim vai nesses casos em que você não quiser se preocupar com as quantidades né de valores nulos ou coisas do tipo você pode fazer uma pequena adaptação nesse código Então em vez de você passar para o a função count uma coluna específica Você pode passar para ele Esse asterisco aqui ó o que que significa Esse asterisco quando
eu faço um count asterisco eu tô dizendo que eu quero contar todos toda toas as linhas da minha tabela Independente se tem valores nulos ou não então quando eu executo dessa forma aqui ó selecionei e executei eu vou ter como resultado número 100 e não preciso me preocupar se tem valores nulos ou não ele sempre vai retornar para mim a contagem Total então muito importante você ter o entendimento dessa diferença quando você for utilizar a função count Tome esse Cuidado para você não cometer erros tá então com isso aí a gente dêu um exemplo de
como utilizar a função count para fazer contagens as outras funções são mais intuitivas né vamos fazer mais alguns exemplos ali vamos olhar agora para uma tabela que a gente não viu ainda que é a tabela de vendas select asterisco from vendas beleza que que nós temos aqui nessa tabela vou selecionar e vou executar beleza nessa tabela aqui eh bom primeiro ele me me deu um um erro né ele não encontrou a tabela vendas porque no caso o nome da da minha tabela não é vendas né o nome da minha tabela é pedidos Então deixa eu
acertar aqui ó então pedidos pedidos beleza agora sim selecionei executei tá agora Ele trouxe como resultado as minhas informações então o que que é essa tabela de pedidos essa tabela de pedidos ela registra ali todos os pedidos que foram feitas que foram que foram feitos paraa minha loja então tenho lá qual foi o ID do pedido Qual foi a data da venda Qual foi o ID da loja onde aquela venda foi realizada né onde aquele pedido foi realizado o ID do produto o ID do cliente a quantidade a receita de venda o custo de venda
custo unitário preço unitário e assim vai aqui é uma ótima eh um ótimo exemplo ali que a gente pode utilizar a função soma né Para que eu possa somar o total de receita proveniente de todos esses pedidos então eu tenho ali para cada linha um pedido diferente né então ten pedido número um pedido 2 pedido 3 pedido 4 e assim vai cada pedido gerando para mim uma receita como é que eu poderia calcular a soma total de receita de pedidos então poderia vir aqui utilizar o comando select e logo em seguida e logo em seguida
eu dizer qual é a coluna que eu quero somar no caso receita venda beleza eu quero fazer uma soma da minha coluna receita venda from a tabela de vendas beleza tabela pedidos né na verdade nome ali é pedidos então se eu quero saber o total de receita eu vou usar uma soma em cima de uma coluna específica da minha tabela de pedidos então selecionei executei e aí vou ter como resultado 28.900 Então esse é o resultado de receita dos meus pedidos fazendo uma soma de todos os valores Então essa soma ela simplesmente calculou para mim
ali o total de receita utilizei a função soma para conseguir chegar nesse resultado Beleza então já vios a função count a função soma temos outras funções também Average de AVG né Eh min e Max Então vamos lá vamos ver esses exemplos aí também agora trabalhando com a tabela de produtos selecionei todas as informações na minha tabela de produtos selecionei executei e aí tá lá como é que eu posso usar aí essas essas outras funções né então aqui até agora a gente trabalhou com a função Sam né aqui a gente trabalhou com a função count e
agora vamos trabalhar aí com as funções AVG min e Max Então vamos lá como é que a gente poderia fazer logo de uma vez esse cálculo aqui vou fazer um select vou começar agora selecionando a média por exemplo de preço dos meus produtos Qual que é o preço médio dos meus produtos né Tem vários produtos com diferentes preços eu quero calcular ali o preço médio Então vou vir aqui vou começar usando a minha função AVG e agora vou dizer qual é a que eu quero fazer aquele cálculo de média no caso preço unitário legal virgula
como é que eu poderia calcular o mínimo agora o preço mínimo né poderia usar a função min também de preço unitário e para fechar posso calcular o máximo de preço unitário tudo isso a nossa tabela de produtos selecionei executei ele vai trazer para mim justamente esses valores média de preço menor preço e o maior preço repara que aqui no resultado né das minhas colunas ele dá esse esse ele coloca o nome da função que eu usei então AVG preço unitário aqui tá aparecendo AVG preço unitário também mínimo preço unitário tá aparecendo o mesmo do da
função ali que eu usei se eu quiser deixar isso aqui um pouquinho mais bonitinho eu posso usar aquele alas né o s seria assim ó s é a média eu vou colocar como média de preço o mínimo eu vou colocar como um mínimo preço o menor preço o máximo vai ser eh maior preço beleza selecionei executei e aí tá lá né o resultado em si não fez diferença mas o nomezinho ali que apareceu na coluna ficou mais bonitinho né mais fácil de ler então com isso Nós aprendemos aí a fazer soma eh Contagem né soma
média eh e mínimo esses cálculos vão ajudar bastante a gente a fazer análises tá análises que sejam mais interessantes né do que essas que a gente acabou de fazer mas já não já foi uma forma da gente conseguir eh extrair os nossos primeiros números do banco de dados quantos produtos eu tenho quant quentes eu tenho n Qual é o total de receita isso já permite a gente comear a visualizar melhor os números que nós temos nos nossos dados Mas a gente pode melhorar Ainda mais por exemplo vamos voltar situação em que eu quero saber qual
é o total de produtos que eu tenho na minha lo para descobrir isso a gente fez uma contagem n select asterisco from a nossa tabela de produtos isso daqui deu pra gente como resultado aquele número 16 né Eu tenho 16 produtos só que vamos lá esse número 16 ele ok ele me diz a quantidade de produtos que eu tenho mas eu poderia deixar isso aqui um pouco melhor né Por exemplo tenho 16 produtos mas quantos produtos são da marca Dell Quantos são da marca altura Quantos são da marca Samsung eu poderia fazer uma análise melhor
para saber como é que tá a distribuição porque 16 produtos né 16 eh eh produtos ali na minha loja Ok me diz a quantidade Total Mas qual quais são os produtos ali Quais são as marcas que eu tenho mais produtos e menos produtos aqui a gente começa a trabalhar melhor ali com a parte de análise tá então vamos recapitular ali né vamos recapitular ali Quais são as marcas que nós temos na nossa tabela de produtos dessa vez eu vou selecionar essas duas linhas aqui ó selecionei as duas e executei nós temos um total de 16
produtos esses 16 produtos são distribuídos nessas marcas aqui então eu tenho marca Dell tem marca Samsung logtech e assim vai então desses 16 produtos quantos deles são da Dell quantos deles são da Samsung e assim vai pra gente conseguir fazer isso a gente vai precisar trabalhar com agrupamentos tá e para quem vem do Excel vai lembrar de algo semelhante que é que são né na verdade as tabelas dinâmicas né as tabelas dinâmicas permitem a gente fazer esse tipo de resumo total de produtos Por marca total de clientes por estado total de lojas por eh região
então esses E essas esses agrupamentos né que a gente chama no essas tabelas dinâmicas que a gente chama no Excel elas são os agrupamentos aqui no SQL tá aí pra gente poder criar agrupamentos nós trabalhamos com o group byy tá então agora vamos falar aí do Group Buy que vai ser um comando extremamente importante aí pra gente poder trabalhar com análise de dados Então dessa vez eu quero pegar aquele número 16 que é o total de produtos e subdividir pela quantidade eh de marcas né então o que que eu queria mais ou menos né Eu
queria algo desse tipo aqui ó a gente já até falou lá no começo para descobrir quais são as marcas de produtos eu uso eu uso o comando distinct né se eu uso esse comando aqui ó ele vai trazer pra gente como resultado todos os produtos distintos da minha coluna de marca produto né que são Dell Samsung Logitech altura Sony JBL HG e blue e o que eu quero fazer agora é pegar aquele número 16 que é um número total e distribuir para cada um desses produtos Quantos são da marca Dell Quantos são da marca Samsung
Quantos são da Logitech E por aí vai então é é agora que vai entrar o nosso comando group by vai permitir fazer justamente isso ter uma lista desses produtos de forma única e o total de produtos para cada uma dessas marcas né então vamos lá qual vai ser a a a estrutura do nosso group byy nós vamos fazer um select logo em seguida nós vamos dizer qual é a coluna a ser agrupada coluna agrupada né no caso eu quero agrupar a coluna marca né mas eu vou ter que dizer qual é a coluna agrupada depois
Qual é o cálculo que eu quero fazer que pode ser uma contagem um mínimo um máximo uma soma uma média em seguida eu vou dizer qual é a tabela que eu vou querer fazer aquele cálculo e para fechar eu vou fazer um agrupamento group by da coluna agrupada né group by Então essa vai ser a estrutura do nosso group by para que ele possa fazer pra gente justamente essa lista de valores únicos e trazer para mim a quantidade de produtos para cada uma dessas marcas então adaptando essa estrutura aqui que que eu vou querer fazer
eu vou querer selecionar a marca do produto certo vírgula agora o cálculo que eu quero fazer no caso eu quero fazer uma contagem Então vou usar o comando count e qual a coluna que eu vou querer contar como eu quero fazer uma contagem que independe da coluna eu só quero fazer uma contagem total de linhas dessa tabela eu vou usar o asterisco então ó count asterisco enter from a minha tabela de produtos e vou agrupar group by pela coluna de marca produto tá então marca produto ponto e vírgula Beleza então selecionei executei e aí tá
lá agora sim eu tenho como resultado a minha lista de marca os respectivos totais al Por marca então marca eu ten um total de C produtos marca Samung eu tenho TR produtos Marca logtec um produto e assim vai Eles não estão ordenados eu poderia fazer uma ordena como que eu poderia fazer ordenação logo depois GR eu coloco Order aqui executando eu vou ter ali uma ordenação né aqui no caso Ele ordenou do menor pro maior se eu quiser o contrário eu coloco esse Desk aqui então selecionei executei e aí tá lá então essa é uma
forma de nós criarmos análises de resumos né resumos gerenciais que a gente chama tabelas dinâmicas agrupamentos então com isso eu consigo end melhor as informações que estão ali dentro então repara o seguinte né Vamos lá antes eu tinha isso aqui ó antes eu tinha isso aqui que eu vou selecionar eu tenho uma série de informações ali né Que olhando a princípio não me dizem muita coisa mas quando eu crio esse agrupamento com gr by eu já tenho uma visão diferente das informações ali da minha tabela tá então consigo visualizar Quem são as marcas dos produtos
e Qual que é a contagem que é feita para cada um dos produtos né consigo entender melhor ó a marca Dell ela tem mais exemplares provavelmente é porque ela vende mais se ela vende mais o que que acontece Para ela vender mais Ah pode ser que seja porque a marca dela é mais consolidada Mas pode ser que o marketing esteja fazendo uma campanha melhor de divulgação pros produtos da marca dela então é isso que você vai começar a escavar quando você olha pros números dessa forma Pô o akg ele tem né um produto só por
que que ele tem um produto só é porque ele não dá tanto Retorno assim ou porque né a demanda é muito menor ou porque enfim o custo né o preço unitário de venda ele é muito baixo então não vale muito a pena vender né porque ter muito produto desse em estoque também gera muito gasto Então são essas análises que você consegue fazer quando você cria um agrupamento como esse que parece simples mas é muito útil tá vamos fazer mais um exemplo aqui né então vamos lá vamos pegar aqui ó agora eh a nossa tabela de
clientes tá vou selecionar a minha tabela de cliente ponto e vírgula selecionei executei tá então tá lá temos todas essas informações Agora imagina o seguinte né imagina que eu queira saber todos e qual que é o total de clientes por escolaridade então eu tenho várias escolaridades aqui eu quero criar um agrupamento e saber qual o total de clientes que são pós-graduados Qual o total de clientes que são ensino médio que são parcial e assim vai então pra gente fazer isso a gente usaria da seguinte forma queer selecionar select n todos os clientes né de uma
de uma escolaridade Então essa vai ser auna que eu vou usar para fazer o agrupamento vírgula a contagem né que eu quero fazer no caso aqui é uma contagem poderia ser uma soma uma média mas enfim eu quero fazer uma contagem de clientes certo from a nossa tabela de clientes e por final eu vou agrupar né vou criar o grupo by para fazer esse esse agrupamento né group by escolaridade certo nunca posso esquecer do grup by se eu quiser fazer um agrupamento Então você quer fazer um agrupamento né uma tabela dinâmica essa tabela resumo então
lembre de usar o grupo by Então vou selecionar e vou executar Então olha só repara aqui ó que eu tenho agora o total de clientes por escolaridade Eu tenho um total de 21 clientes que são pós-graduados 46 parciais 27 ensino médio e seis graduação legal fizemos mais um exemplo aí mas olha só imagina que agora eu quisesse o seguinte eu quero saber o total de clientes por escolaridade mas eu quero especificamente os clientes que são do sexo masculino repara a diferença aqui eu fiz uma contagem total de clientes por escolaridade Ok considerando todos os clientes
só que dessa vez eu quero fazer uma contagem considerando apenas os clientes que são do sexo masculino como que eu vou introduzir um filtro no meio aqui desse Desse nosso Cosmo bom sempre que a gente trabalha com group by Nós temos duas possibilidades de filtro filtros que nós fazemos antes de realizar o agrupamento e filtros que nós fazemos depois de realizar o agrupamento Qual que é a diferença toda vez que eu quero né filtrar a tabela antes de agrupar como é o caso aqui do que a gente quer fazer agora né eu quero aqui em
cima da minha tabela de clientes eu quero trazer o total de clientes pura escolaridade só que considerando apenas os clientes que são do sexo masculino então o que que eu teria que fazer né antes de criar o agrupamento primeiro eu teria que conseguir armazenar ali no meu cálculo apenas os clientes que são do sexo masculino Então esse aqui é do sexo masculino Esse aqui é do masculino Esse aqui é do masculino Esse é do masculino e assim vai então depois que eu visualizasse todos que são do sexo masculino aí sim eu faria o agrupamento neste
caso nós estamos falando de um filtro antes do agrupamento e um filtro antes do agrupamento ele acontece justamente antes do Group by ele vai acontecer aqui E esse filtro vai ser o filtro we Ok então para descobrir quais são Qual é a quantidade de clientes por escolaridade mas considerando apenas os clientes que são do sexo masculino antes de fazer o agrupamento eu preciso dizer que eu quero considerar apenas os clientes que são do sexo masculino para isso eu vou usar o comando we então eu quero selecionar a masc particularidade fazer uma contagem na minha tabela
de clientes onde o sexo é igual a m beleza definiu quem são esses clientes que são do sexo masculino Aí sim você agrupa por escolaridade Então vou selecionar aqui e vou executar E aí como resultado vou ter um número menor né Agora eu tenho nove que são pós-graduados 25 que são parciais 11 que são ensino médio e três que são graduação ó pra gente ver a diferença eu vou comentar esse código aqui ó vou comentar essa linha usando traço traço e vou executar novamente lembra desses números aqui ó 9 25 11 e 3 vou selecionar
vou executar e repara a diferença né Por que que esse aqui deu mais porque aqui eu tô considerando todos os clientes agora quando eu utilizo o filtro we o que ele tá fazendo é primeiro ele tá trazendo apena quem é do sexo masculino E aí sim fazendo ali o agrupamento por escolaridade Por isso os valores são menores então toda vez que eu quiser fazer um filtro antes de agrupar eu vou usar o o comando weare tá então muito importante agora vão ter situações que eu vou ter o seguinte vou apagar esse we aqui e vou
executar de novo vão ter situações que eu vou querer fazer o seguinte depois de agrupar a minha tabela aí sim eu vou querer fazer o filtro nesse caso aqui seria por exemplo eu tenho aqui escolaridade a escolaridade parcial pós-graduado parcial ensino médio graduação e os respectivos valores eu poderia querer agora fazer um filtro para considerar apenas as escolaridades que tem um total de clientes acima de 25 então repara que nesse caso eu agrupo a minha tabela e só depois eu faço um filtro então depois que eu descobri o total de clientes por escolar agora eu
vou querer saber qual é quais são as escolaridades que tem mais de 25 clientes então PR fazer esse tipo de filtro nós vamos fazer um filtro depois do agrupamento queia aqui depois do Grou só que o filtro depois do Group by não vai ser o vai ser um outro nome que vai ser o hav então quando eu quiser fazer um filtro na tabela que já foi agrupada eu usro depois do Group byy só que em vez do we vai ser o Haven Então agora eu quero apenas os client as escolaridades que tem uma contagem de
clientes acima de 25 então eu quero fazer um agrupamento de escolaridade considerando né onde eh a minha contagem de clientes né Ela é maior ou igual a 25 então repara que agora eu estou fazendo o filtro depois da tabela ser agrupada então vou selecionar vou executar ele vai trazer apenas as escolaridades que são e que tem uma contagem de clientes acima de 25 Então quando você trabalhar com group by tenha isso em mente vão ter situações em que você vai fazer um filtro antes do agrupamento e vão ter situações que você vai fazer filtros depois
do agrupamento filtros antes do agrupamento você vai usar o we porque antes do agrupamento você tá fazendo um filtro na tabela geral né na nossa tabela Inicial já um filtro depois do agrupamento nós vamos Us usar o ren que vai ser um filtro em cima da tabela agrupada né Depois que ela foi agrupada Fechou então tá lá usamos aí então o group byy para conseguir fazer agrupamentos e também aprendemos como utilizar o group by em conjunto com o a e com o Heaven Beleza então com isso a gente chegou aí nessa mais ou menos na
metade desse nosso terceiro bloco aqui sobre análise de dados né utilizando ali as funções de agregação E também o group by agora a gente vai entrar numa outra situação tá que é a seguinte vamos dar uma olhada na nossa tabela de pedidos né select asterisco from pedidos ponto e vírgula selecionei executei essa tabela é uma tabela que é cheia de colunas de ID de colunas de identificação por exemplo eu tenho aqui o ID do pedido né que é uma coluna notificação Mas também tenho ali ID da loja Então essa venda ess esse pedido aqui foi
feito na loja dois o produto vendido foi o 4ro o cliente que comprou foi o 16 repara que eu tenho vários ids ali mas eu não tenho necessariamente informação de quem é aquele cliente de quem aquele produto né eu tenho o ID dele mas qual que é o nome desse cliente Qual que é a marca do produto Qual é a localidade da loja eu não tenho essas informações nessa tabela mas eu tenho essas informações em outras tabelas por exemplo como é que eu sei quem é o cliente 16 o cliente 16 eu vou descobrir da
seguinte forma lá na minha tabela de clientes se eu executar aqui essa consulta eu tenho que o meu cliente número 16 ele é ela é né a shanon Wang então eu tenho essa informação só que ela está em outra tabela então repara que agora a gente chegou numa situação ali e um pouco mais desafiadora né como é que eu faço por exemplo para saber para jogar as informações de uma tabela para outra né vamos dar mais um exemplo ali ó eu tenho uma outra tabela que é a tabela de produtos tabela de produtos selecionei executei
essa tabela de produtos tem informações de categoria Mas quem são essas categorias eu não tenho essa informação na tabela de produtos mas eu tenho na tabela de categorias Ok então Ó vou executar esse código E aí tenho lá ó tabela de produtos esse produto aqui número um por exemplo ele vai ser quem ele vai ser da categoria monitor o produto oito que é o headphone ele é da categoria 4 quem é a categoria 4ro é a categoria headphone então repara que eu tenho coluna regidez em diferentes tabelas mas essas colunas elas se relacionam com outras
tabelas as tabelas estão estão relacionadas até agora a gente não falou muito sobre isso né sobre o fato de nesse banco de dados ter várias tabelas E essas tabelas se relacionarem mas agora chegou o momento né então eu tenho ali informações eh de pedido de de locais de clientes de categorias de produtos todas essas relações de alguma eh todas essas informações de alguma forma elas se relacionam por quê Porque nós estamos trabalhando com um banco de dados e esse banco de dados é composto por tabelas tabelas que se relacionam portanto é um banco os dados
relacional mas como é que a gente faz então para conseguir jogar as informações de uma tabela para outra né como é que eu consigo saber que a venda que foi feita pro cliente número três foi feita na verdade pro cliente que o nome é João das Curves como é que eu faço isso a gente vai ter que trabalhar com relacionamentos e Mais especificamente aqui no SQL a gente vai falar de join tá então para falar de join eu trouxe aqui um PPT Zinho aqui para ficar mais fácil aqui a nossa o nosso entendimento tá então
vou compartilhar aqui a tela novamente para explicar aí para você o que que seriam joins né relacionamentos no SQL depois a gente volta lá pro nosso MySQL Então vamos lá que que são joins no sk joins são formas aí da gente conseguir por meio do código relacionar as tabelas de um banco de dados conseguir trazer a informação de uma tabela para outra tababela né trazer o nome do cliente para tabela de pedidos trazer o nome da categoria paraa tabela de produtos então a gente consegue fazer isso através do join já muito por essas tabelas se
relacionam entre si Tá mas antes da gente entender sobre joins vamos falar sobre alguns conceitos que são important de você ter em mente tá para essa questão dos relacionamentos ficarem mais claras aí para você então vamos lá vamos começar falando sobre os conceitos de chave primária e chave estrangeira você provavelmente já ouviu falar nesses nesses termos se você não ouviu falar vou te explicar agora do que que se trata uma chave primária ela vai ser uma coluna que identifica as informações de forma única em uma tabela Como assim pensa o seguinte eu tenho aqui uma
tabela Eh chamada produtos e uma tabela chamada pedidos essas duas tabelas nós estamos trabalhando lá na nossa aula do nosso banco de dados como a gente pode ver nessas tabelas na tabela de produtos nós temos uma coluna chamada ID do produto que é essa coluna daqui que identifica de forma única as informações daquela daqueles produtos né Eu nunca tenho um produto que se repete eu tenho o ID de produto número um número do número TR número 4 número 5 número 6 e assim vai certo a mesma coisa acontece com a tabela de pedidos eu tenho
o ID do pedido número 1 número 2 número 3 Número 4 número 5 e assim vai essas colunas elas identificam de forma única as linhas dessa tabela portanto nós conhecemos essas colunas como sendo colunas de chave primária chave primária porque nenhuma informação ali dentro se repete e são colunas que são utilizadas para identificar de forma única cada linha daquela tabela fechado Isso é uma chave primária o que que seria agora uma chave estrangeira uma chave estrangeira vai ser uma coluna em outra tabela que nós conseguimos utilizar para relacionar com as chave primária de uma primeira
tabela Vamos pensar aqui mais uma vez na relação entre produtos e pedidos produtos e pedidos nós temos aqui que a coluna de ID do produto na tabela de produtos é uma coluna de chave primária porque ela identifica de forma única as linhas dessa tabela se eu quiser saber quem é o produto CCO eu só tenho um único produto 5 que é o kit teclado mais o mouse se eu quiser saber quem é o produto 14 eu sei que é o notebook spiron 15.000 eh 15 5000 não tenho outro produto que seja produto 14 e na
tabela de pedidos nós temos eh informações de pedidos e também temos uma coluna de ID do produto só que nessa coluna de ID do produto na tabela de pedidos eu posso ter um mesmo produto aparecendo várias e várias vezes por quê Porque eu posso vender um celular mais uma vez um notebook mais uma vez uma impressora mais uma vez e assim vai então na tabela de pedidos eu vou ter uma coluna chamada ID produto que identifica Quais foram os produtos que foram vendidos e essa coluna de ID produto lá na tabela de de pedidos eu
vou entender como uma chave estrangeira então a chave estrangeira ela vai ser usada para conectar com a chave primária de uma tabela e assim eu vou conseguir saber produto 11 que foi vendido quem que é ele na tabela de pedidos eu não sei quem é mas na tabela de produtos eu sei que o produto 11 é o microfone condensador Ah o produto 9 que foi vendido eu não sei quem ele é é na tabela de pedidos mas eu sei que o produto nove na tabela de produtos é o fone de ouvido tun e t5000 tá
Então essa é ideia de chave estrangeira vai ser uma coluna e uma tabela que permite eu conseguir conectar com a tabela com a chave primária de uma outra tabela e assim fazer as informações se relacionarem tá então falamos sobre chave primária e chave estrangeira temos um outro conceito também que é o conceito de os conceitos de tabela dimensão e tabela fato que que é cada uma delas uma tabela dimensão ela vai ser uma tabela que contém características de um determinado elemento tá então por exemplo eu vou ter uma tabela com informações de lojas e essas
lojas elas vão aparecer com informações de endereço contato eh gerente data de abertura e assim vai só que nessa tabela de lojas eu não tenho lojas que se repetem outro exemplo uma tabela de clientes a tabela de clientes ela tem informações relacionadas ao ao elemento cliente que são nome e-mail telefone renda sexo e assim vai só que as os clientes nessa tabela não se repetem são sempre informações distintas então nessas tabelas que T características de um determinado elemento que pode ser um elemento cliente eh funcionário loja produto e assim vai essa as tabelas nós damos
o nome de tabela dimensão tá e nós não não vamos ter informações ali dentro se repetindo o mesmo cliente não aparece mais uma vez o mesmo produto não aparece mais uma vez numa tabela dimensão porque essa tabela dimensão ela determina as características daqueles elementos tá E vai ser nessa tabela que nós vamos encontrar o que nós chamamos de chave primária né então Eh nós temos lá a tabela de produtos que tem essa coluna de ID que identifica de forma única cada uma dessas linhas da tabela tá em alguns lugares essa coluna que identifica de forma
única se chama sku né em outras Eid mas esse aqui é um exemplo de tabela dimensão uma tabela que resume as características de um determinado elemento no caso do produto é nome do produto qual que é categoria marca número de série preço unitário custo unitário já a tabela fato ela vai ser uma tabela que vai registrar os fatos e os acontecimentos de uma empresa em um determinado período de de tempo né Então as vendas da empresa e as devoluções da empresa os reembolsos abertura de chamados né enfim informações que são eh registradas ao longo do
tempo geralmente essas tabelas Elas têm milhares ou milhões de linhas né E ela é basicamente composta por colunas de ID então o exemplo de tabela fato é a tabela de pedidos ela resume os fatos da no Nossa eh do nosso negócio né Que fatos são esses as vendas os pedidos Então eu tenho lá uma linha para cada um dos pedidos pedido que foi feito no dia 1eo de janeiro de 2019 um pedido que foi feito no dia 10 de janeiro de 2019 e assim vai tá E vai ser nessa tabela que geralmente nós vamos ter
ali a chave estrangeira que vai se conectar com a chave primária de uma tabela de mensão tá Então essa é a ideia de tabela fato e tabela dimensão é legal a gente ter esse entendimento também beleza então a gente viu que existem essencialmente aí as tabelas menão e as tabelas Fato né E essas tabelas elas podem se relacionar entre si através de Chaves primárias e Chaves estrangeiras né mas para que que servem essas relações justamente pra gente conseguir trazer informações de um lugar de uma tabela para uma outra tabela e fazer essas tabelas se relacionarem
essa que esse que é o grande objetivo de um banco de dados relacional permitir que as tabelas se relacionem e vão ser os joins que vão permitir a gente conseguir fazer isso tá por exemplo né temos lá na tabela de pedidos o ID de produto eh o ID produto iG 11 então tem tive um pedido ali que foi feito no dia 1eo de janeiro de 2019 que foi feito ali e o e o produto associado é o id11 né como é que eu sei quem é o id11 eu sei dessa informação lá na tabela de
produtos na tabela de produtos o produto 11 ele é o microfone condensador e eu tenho lá consequentemente as informações de categoria marca número de série preço unitário e custo unitário Então as informações de uma tabela dimensão complementando as informações de uma tabela fato né não necessariamente a relação vai ser vai ser feita entre fato e dimensão eu posso ter por exemplo uma relação entre dimensão e dimensão né que é o caso da relação entre as tabelas produtos e a tabelas e a tabela categorias Tá mas é bastante comum Aí a gente vê na prática a
relação entre tabelas fato e tabela dimensão tá existem diversos tipos de join tem o left Join jo tem o right join tem o Inner join tem o full join aqui eu vou me resumir no Inner join tá aqui é junto com o left join são os mais utilizados Tá mas entendendo a ideia do Inner join né o formato a estrutura você também consegue aprender os outros com tranquilidade vamos falar aqui do Inner join né Qual que é a ideia do Inner join É permitir que a gente faça uma uma relação entre duas tabelas e trazer
como resultado né as informações ali de cada uma das tabelas que a gente relacionar tá a característica do Inner Joint É permitir que a gente retorne sempre os valores que são uma interseção entre as duas tabelas né então A ideia é sempre eu conseguir garantir que os produtos que eu tenho registrados na minha tabela de produtos eles existem na tabela de pedidos né não é o ideal que eu tenha produtos que foram vendidos que não fazem parte da tabela de produtos Tá mas a ideia do innerjoin vai ser juntar essas duas tabelas que por exemplo
nós temos aqui a tabela de produtos e a tabela de pedidos e conseguir juntar essas informações da seguinte maneira aqui ó por um lado eu vou ter as informações aqui nessas quatro primeiras colunas dessa tabela aqui de baixo vindo da tabela de pedidos então ID produto data venda quantidade vendida e receita venda bem aqui tá ID produto data venda quantidade vendida e receita venda e essas outras três colunas aqui elas vão ser colunas que vão eh ter origem ali na tabela de produtos Então como é que eu sei qual que é o nome do produto
porque eu tenho a coluna de ID do produto aqui na minha tabela de pedidos então o produto número três que aparece aqui ó produto número três ele vai ser o webcam full HD da logtech 450 eu sei isso por quê Porque eu tenho os produtos registrados na minha tabela de produtos tá produto de de ID número 4 que tem e que foi vendido ali no dia 1eo de janeiro de 2019 ele é um kit teclado mais mouse sem fio como é que eu sei essa informação porque o id4 ele aparece aqui nessa tabela tá da
tabela de produtos então o injo vai me permitir relacionar essas duas tabelas para que eu consiga jogar a informação de uma tabela em outra tabela fechado e aí qual vai ser a estrutura né a sintaxe de um Inner join e que vai ser a mesma sintaxe de qualquer join que vocês utilizarem né A única diferença vai ser o nome que vocês vão usar ali se é Inner join se é left join e assim vai Então qual que é a estrutura eu vou fazer um select depois eu vou dizer quais são as colunas que eu quero
eh ter como resultado nessa consulta como dessa vez eu tô relacionando mais uma tabela ao mesmo tempo eu preciso identificar não só o nome da coluna mas também o nome da tabela de onde vem essa coluna então se eu quero selecionar a coluna um eu tenho que dizer qual de onde é de onde vem essa coluna né de qual tabela ela vem então vou querer fazer um select na tabela a da coluna 1 depois na tabela a da coluna 2 na tabela a coluna 3 tabela B coluna 4 então agora que eu tenho mais de
uma tabela eu preciso identificar no meu código a qual tabela pertence aquela coluna tudo isso né na minha tabela a quem vai ser a minha tabela a vai ser sempre a tabela que eu quero complementar com informações e para complementar as informações da tabela a eu vou fazer um Inner join com a tabela b e logo em seguida eu preciso informar qual a coluna que essas duas tabelas TM em comum então eu vou fazer um Inner Joint com a tabela B onde a coluna de chave estrangeira na tabela a seja igual à coluna de chave
estrangeira de chave primária na tabela B vamos trazer isso aqui pro nosso exemplo eh do nosso banco de dados vamos imaginar que eu quero calcular né Eu quero eh fazer uma um relacionamento um join entre as tabelas de pedidos e produtos então eu quero complementar as informações de pedidos com a tabela de produtos Então vou selecionar as colunas que eu quero visualizar então Quero visualizar coluna ID produto da tabela pedidos data venda da tabela pedidos eh quantidade vendida da tabela pedidos nome produto da tabela produtos tudo isso da tabela pedidos e complementar com as informações
da tabela de produtos onde o quê a coluna ID produto da tabela pedidos é igual a coluna ID produto da tabela produtos tá vai ser através da coluna ID produto que eu vou relacionar essa as duas tabelas então com isso a gente tem a estrutura de um Inner Joint Tá então vamos agora voltar aqui pro nosso Exemplo né do nosso banco de dados vamos dessa vez eh criar esse código justamente pra gente poder criar essa essa complementação né Vamos lá vamos agora trabalhar com Inner join na prática e eu vou querer fazer um primeiro exemplo
tá primeiro exemplo exemplo um eh relacione à tabelas produtos e categorias e categoria fechado vamos lembrar aqui quais informações nós temos nessas tabelas quero selecionar as informações da minha tabela de produtos e além disso quero selecionar as informações da minha tabela de categorias categorias ponto e vírgula selecionei executei legal então vamos lá Lembrando que a tabela de produtos tem uma coluna chamada ID categoria como é que eu faço para descobrir quais são essas categorias né como é que eu poderia jogar a informação de categoria né de nome da categoria de nome da categoria aqui para
essa tabela de produtos Então vamos lá vou vir aqui vou fazer um select de algumas colunas quais colunas bom A primeira coluna que eu quero visualizar é a coluna de nome produto mas já lembra né já que eu vou fazer um join aqui eu vou ter mais uma tabela sendo selecionada ali então preciso especificar de qual tabela pertence essa coluna nome produto Então essa essa coluna pertence a coluna de a tabela de produtos então eu quero selecionar nome produto da tabela produtos vírgula na tabela produtos Eu também quero selecionar o ID da categoria na tabela
produtos Eu também quero selecionar a marca do produto e agora eu quero selecionar também o nome da categoria que aqui na tabela de categoria se chama categoria né então aqui eu vou querer selecionar também na tabela de categorias a informação de categoria tudo isso né eu vou querer trazer para pra tabela de produtos Ok só que vamos lá eu tenho as colunas de nome produto e de categoria E marca do produto na tabela de produtos mas não tem uma informação de categoria na tabela de produtos então vou ter que fazer um Inner join então ó
Inner join com a tabela de categorias certo onde né não tô traduzindo aqui ao pé da letra mas considerando ali que a tabela de produtos a coluna ID categoria vai se relacionar com a tabela categorias ID da categoria legal esse código aqui até cansou né ess aqui já ficou um pouquinho maior mais complexo mas beleza então tá lá ó Vou selecionar todo esse código vou executar e olha só que legal ele vai trazer como nome Doo ID marca do produto e a categoria Então esse daqui ó monitor ele vai ser esse monitor LED é da
categoria monitor kit teclado mais Mouse é da categoria kit teclado e mouse e assim vai então com isso nós utilizamos o Inner join para conseguir fazer uma relação entre essas duas tabelas trazendo as informações da tabela de categorias pra tabela de produtos Então esse foi o primeiro exemplo nós relacionamos a tabela de produtos com aabel de categorias vamos supor agora que eu quisesse relacionar no segundo exemplo exemplo dois relacionar as tabelas de eh produtos com pedidos Por que que seria interessante relacionar essas duas tabelas vamos lá vamos dar uma olhada nessas duas tabelas select asterisco
eh from produtos e além disso select [Música] asterisco from pidos Então vamos lá por que seria interessante relacionar essas duas tabelas então executei e aí tá lá na tabela de pedidos nós temos uma coluna de ID do produto e quem é esse ID do produto eu descubro quem é ID do produto olhando a tabela de produtos beleza mas como é que eu consigo jogar as informações de produtos para minha tabela de pedidos usando o nosso join Então vamos lá que que eu quero fazer agora eu quero visualizar informações da tabela de pedidos acrescentando a informação
de nome do produto Então vamos fazer aqui no nosso exemplo select tá e a partir de agora eu vou selecionar algumas Colunas da minha tabela de pedidos quais eu vou querer Visualizar por exemplo e a data da venda certo vírgula o ID do produto vírgula quantidade vendida legal só que além disso eu quero visualizar também o nome do produto que tá na tabela de produtos então nome então Além disso eu quero visualizar nome produto Mas vamos com calma aqui eu eu vou trabalhar com mais uma tabela então de qual tabela vem a data venda de
qual tabela vem ID produto de qual tabela vem quantidade vendida de qual tabela vem o nome produto eu vou identificar o nome dessa tabela aqui antes tá então por exemplo a data da venda vem da tabela de pedidos a tabela ID produto vem da e tabela de pedidos também a tabela a coluna da quantidade vendida também vem da tabela de pedidos certo Deixa eu subir um pouquinho aqui abaixar aqui essa janela Agora sim e o nome produto vem de onde vem de produtos beleza from a nossa tabela de pedidos porque eu quero e a minha
análise tá sendo feita em cima da tabela de pedidos o que eu tô fazendo aqui agora é jogar informações tabela de produtos para dentro da tabela de pedidos como eu não tenho a informação de nome do produto na tabela de pedidos eu vou ter que usar o Inner join beleza Inner join e logo em seguida e logo em seguida Qual a tabela que a gente vai complementar no caso que a gente vai usar para complementar né vai ser a tabela de produtos beleza detalhe importante aqui tá gente eu não falei sobre isso até agora mas
não faz diferença se você coloca os nomes em maiúscula ou minúscula aqui no SQL então poderia ter usado todo o meu código aqui em maiúscula todo o código minúscula poderia intercalar não faria diferença tá você fica fica seu critério se você prefere maiúscula ou minúscula para mim é diferente aqui eu sempre coloquei em minúscula Tá mas não faz diferença só para você saber disso mas vamos padronizar aqui né porque também o toque ele agradece né Ou coloca tdo maiúsculo ou todo no minúsculo ou com a primeira maiúscula né Vamos agradecemos né mas olha só então
o que que a gente fez aqui né a gente tá trazendo informações da nossa tabela de pedidos complementando com uma informação da tabela de produtos e agora eu tenho que dizer de que maneira essas tabelas se relacionam elas se relacionam da forma que a tabela de pedidos né coluna ID pedido ela vai ser igual a produtos pon ID produto fechado eh aqui é ID produto né não é ID pedido ID produto Agora sim Então essas duas tabelas pedidos e produtos vão se relacionar através de ID produto ID produto pedidos ID produto produtos beleza vamos executar
isso aqui e vamos ver o resultado selecionei executei E aí tá lá tivemos como resultado data da venda o ID do produto a quantidade vendida E qual é o nome do produto agora fica muito mais intuitivo de entender ali e a qual e produto né aquela venda está relacionada fechado então com isso a gente conseguiu criar um join a gente conseguiu e relacionar as nossas duas tabelas elas e agora a gente já não tem mais limite em relação a Como utilizar as informações ali dentro já temos o conhecimento suficiente para relacionar essas informações e conseguir
aproveitar o máximo o fato a característica relacional do banco de dados Beleza então fechamos aí o nosso eh o nosso exemplo de join como é que a gente pode relacionar duas tabelas tá vamos lá vamos só deixar um pouquinho mais complexo e fazer um último exercício aqui agora para saber qual que foi o total de receita Por marca de produto Então qual foi a receita Por marca de produto como é que eu vou fazer isso agora vai ficar mais a brincadeira vai ficar bonita tá vou até beber uma aguinha aqui e olha só que que
eu quero saber agora exercício tá isso aqui na verdade vou chamar de desafio que você pode começar a rabiscar aí na sua cabeça ou num papel enquanto eu vou explicando aqui nosso desafio agora é o seguinte é saber total de receita total de receita Por marca de produto Olha que interessante total de receita Por marca de produto como que eu sei as marcas dos produtos eu sei através da tabela de produtos certo então vamos pegar aqui um código com as informações de produtos deixa eu jogar esses dois aqui para baixo Então eu tenho lá eh
a minha tabela de produtos e a minha tabela de pedidos o que eu quero saber aqui agora é o total de receita total de receita Por marca de produto então eu quero ter o quê pra marca Dell Qual foi a receita total dos produtos da marca Dell pra marca Samsung qual foi o total de receita como que a gente faz isso né Então olha só dessa vez eu quero né conseguir relacionar novamente tabela produtos e pedidos só que eu quero ter um resumo das minhas marcas e a o total ali a quantid a soma total
de receita então o que que eu vou ter que usar aqui vai Vai pensando tá enquanto eu vou explicando aqui mas o que que eu vou precisar aqui eu vou precisar de duas coisas para conseguir fazer isso a primeira delas é um join certo alguma forma se eu vou relacionar essas tabelas eu preciso de um join E além disso eu vou precisar de um Grou by por eu quero agrupar por produto certo quero agrupar por produto por marca de produto Então vou precisar utilizar um join tá Então como que vai ficar isso aqui vou precisar
de um GR então como é vai ficar isso aqui select marca produto certo marca produto vírgula soma soma de receita como é que tá o nome da da nossa coluna aqui ó vamos ver receita venda receita venda receita venda então eu quero fazer um resumo por de receita venda por marca de produto tudo isso a nossa tabela de pedidos só que olha só eu não tenho a informação de marca produto na tabela de pedidos mas eu tenho informação de ID do produto então de alguma forma eu conseguiria trazer a informação de marca do produto minha
tabela de pedidos vamos lá primeiro passo né algumas coisas marca do produto em que tabela ela está Ela está na tabela de produtos e a receita venda ela está onde ela está em pedidos legal agora que que eu vou precisar fazer Será que eu posso partir direto para um group buy group buy marca produto e só depois fazer o Inner join Será que eu posso fazer isso não a ordem aqui vai importar tá por antes de eu fazer o group buy primeiro eu preciso passar para ele a informação de marca produto como é que ele
vai agrupar Por marca produto se essa informação não existe na tabela de pedidos Então antes de fazer o group buy eu vou precisar fazer o meu join então primeiro o Inner join primeiro Inner join Agora sim vou relacionar com a tabela de produtos certo de que forma de uma forma em que a tabela de de pedidos ela se relaciona através da sua coluna ID produto com a tabela de produtos através da coluna ID produto ponto e vírgula aqui no final Então olha que interessante como é que foi isso aqui ficou isso aqui né Vamos executar
e depois vamos pensar em cima desse resultado Então olha só nós temos aqui Total ali de vend de de receita Por marca E aí repara que eu tenho menos marcas né do que o normal por quê Porque Possivelmente as outras marcas eu não vendi Tá mas o que que nós temos aqui como resultado nós temos o total de receita para cada uma das marcas e vimos ali que a marca que mais vendeu foi a marca Sony E olha que interessante né se a gente lembrar um lá da nossa tabela de produtos a gente vai lembrar
que Dell é o produto que tem é a marca que tem mais produtos por outro lado é a marca que menos vende menos traz receita pra empresa Então olha como é que é interessante a gente fazer o o join como é que é interessante fazer o group buy porque a gente começa a conectar as coisas fal Ué como que o Dell tem mais exemplares de produtos Mas vende muito menos do que a Sony por exemplo que tem menos exemplares aí a gente começa a escavar as coisas e começa a entender melhor ali eh a origem
das informações tá então com isso a gente conseguiu juntar o join com o group buy e nós fizemos essa essa análise aqui né mais completa e aí como eu falei agora o céu é o limite você vai conseguir utilizar o injoin junto com o by junto com a junto com as informações aí que você desejar tá uma última dica aqui antes da gente encerrar essa essa parte é a seguinte tem uma forma da gente deixar esse código mais elegante mais resumido mais simplificado repara que toda vez que eu quero né Eh fazer referência à coluna
de uma determinada tabela eu preciso colocar o nome daquela tabela então produtos aparece aqui né produtos aparece aqui aparece aqui da mesma forma que pedidos aparece aqui e aqui e aqui produtos aparece aqui também tem um jeito de deixar isso aqui um pouquinho mais elegante tá que é usando aquele aquela ideia do alas né do s da mesma forma que a gente consegue dar nomes para colunas de tabelas nós conseguimos dar nomes para tabelas propriamente ditas Então essa coluna de essa tabela aqui de pidos eu poderia chamá-la logo depois aqui desse nome pedidos poderia chamá-la
de PE pedidos e essa de produtos eu poderia chamar de PR e sempre que o texto pedidos aparece aparecesse no meu código sempre que ele aparecer no meu código eu posso substituir por pe então por exemplo pedidos aparece aqui substituo por pe pedidos aparece aqui eu vou substituir por pe e acabou e aí agora produtos eu posso substituir por PR PR a aqui também PR e aqui também tá coloquei o nomezinho simples né como as duas começam os dois começam com a letra P então acabei colocando duas letras aqui mas se fosse vendas e produtos
eu poderia chamar de v e de p tá se eu executar esse código aqui eu vou ter como resultado a mesma coisa com a diferença de que agora fica muito mais resumido esse código e muito mais legível tá a gente pode utilizar esse essa opção aqui do alas fechado então com isso a gente falou aí sobre eh joins relacionamentos né Inner join chave primária chave estrangeira tabela fato tabela dimensão o que dá o que abre aqui muitas possibilidades pra gente continuar trabalhando aí com análises fechado bom Dando continuidade aqui eu quero falar de mais dois
temas antes da gente entrar na nossa etapa final tá Quais são esses dois Vamos pensar na seguinte situação eu tenho uma tabela que a tabela de produtos certo com os meus produtos ali até até aqui não tem nada nada demais tá esses produtos eles T preços tá tem preços unit imagina que eu quisesse saber quais são os produtos tá Deixa eu subir um pouquinho aqui quais são os produtos que tem um preço unitário Acima da Média Como assim eu tenho uma série de produtos eu posso tirar a média desses produtos a média pode ser por
exemplo 2500 preço médio dos dos meus produtos o ticket médio imagina que eu quisesse saber quais são os produtos que tem um preço acima do Ticket médio acima do Ticket médio como é que eu poderia fazer isso poderia resolver em duas etapas primeira etapa seria descobrir deixa eu escrever aqui qual que é a situação Tá qual é a situação saber quais são os produtos com preço Acima da Média tá como é que eu poderia descobrir isso poderia fazer em duas etapas duas etapas etapa etapa etapa um beleza nessa etapa um eu preciso descobrir qual que
é a média de produtos né Qual que é a média de de de preço n então descobrir descobrir qual a média de preços Qual que é a média de preço descobri isso a gente consegue né De que forma calculando a média de preços para saber isso a gente faz um select AVG certo de preço unitário preço unitário from a nossa tabela de produtos beleza Isso aqui vai me dar como resultado a média de preços certo vou executar E aí tá lá a média de preços é 1788 vamos escrever aqui ó 1788 p1250 beleza dito isso
né descoberto isso a gente vai poder agora saber quais são os preços que tem quais são os produtos que tem um preço acima dessa média então etapa dois etapa do vai ser e filtrar a a tabela de produtos com a média de preços Beleza então vamos lá select né asterisco que eu quero selecionar todas as colunas da minha tabela from a minha tabela de produtos beleza onde o quê o preço unitário ele é maior ou igual o quê maior ou igual a média que a gente descobriu que é essa daqui então vou até copiar e
vou colar aqui ponto e vírgula isso daqui vai me dar como resultado justamente os produtos que TM o preço Acima da Média só que vamos pensar no seguinte será que esse preço unitário só esse cálculo aqui que eu fiz ele é o cálculo mais otimizado que ele poderia ser pensa o seguinte isso aqui tá me dando o resultado que eu esperava produtos com o preço unitário maior ou igual a a média né que é de 1788 tá só que da forma como eu fiz aqui ele sempre vai considerar o preço 1788 sempre vai considerar o
preço 1788 E caso eu tenha alguma informação alguma nova eh atualização na minha tabela de produtos né caso saia um produto n entre um produto novo ou eu altere o preço de algum produto não necessariamente esse valor vai se manter fixo ele pode alterar tá e se ele altera E se ele altera e o que vai acontecer é que esse cálculo vai deixar de fazer sentido se entra um novo produto que custa R 10.000 o ticket médio vai ser diferente e se o ticket médio é diferente consequentemente esse cálculo aqui vai ser eh não vai
estar mais correto então uma forma melhor da gente resolver isso aqui em vez de escrever diretamente o valor final né o valor fixo dentro desse código é a gente tornar esse código automático de uma maneira que Independente se eu se eu adiciono ou não mais valores na minha tabela esse valor de média aqui ele vai ser considerado e você vou ter sempre ele atualizado Beleza então como é que eu posso resolver isso eu posso simplesmente né simplesmente pegar este select aqui que eu acabei de criar para descobrir a média e colocar esse select no lugar
desse valor fixo então posso pegar este cara daqui CRL c e dar um cont contrl V aqui tá entre parênteses e o que que ele vai fazer ele vai calcular a média ele vai calcular a média e uma vez calculada a média que agora vai ser automática ele vai fazer ali uma filtragem considerando todos os produtos que T um preço unitário maior ou igual a essa média que agora né esse valor ele ficou automático então eu não preciso mais me preocupar com esse valor ele pode alterar a vontade que da forma como eu fiz ele
vai ser sempre um valor atualizado e o que eu acabei de fazer aqui é o que a gente chama de subquery Tá subquery o que que é uma subquery é um e a gente criar um select dentro de um outro select aproveitar o resultado de um select dentro de um outro select para tornar a nossa análise o nosso código muito mais dinâmico fechado então sugestão né sempre que você precisar utilizar o resultado de um select dentro de um outro select você vai vai utilizar a subquery para tornar esse cálculo aí mais otimizado Fechou então o
que nós acabamos de fazer aqui é simplesmente matar essa etapa número um e fazer o código diretamente ali a partir da Etapa dois né deixando o nosso código mais otimizado e utilizando o que nós chamamos de subquery fechou fechou fechou fechou então com isso a gente finalizou aí esse tema sobre subquery um tema aí muito importante tá para você criar cálculos mais otimizados né de uma maneira mais inteligente e também mais elegante né e menos sujeita ali a a erros né sujeita a problemas vamos fechar aqui agora com o último tema tá vamos falar sobre
views presta atenção vamos voltar aqui nesse código que eu acabei de criar aqui né esse select que traz pra gente ali o resumo de resumo de total de receita Por marca beleza total de receita Por marca esse total de receita Por marca ele me gera um resultado se eu executar isso aqui eu tenho como resultado Aquela nossa tabelinha né com o total de receita para cada uma das marcas uma pergunta que você pode se fazer é a seguinte beleza todos esses essas consultas que eu fiz aqui né que geram esse resultado para onde essas informações
vão né elas ficam armazenadas em algum lugar para onde vai essas tabelas que a gente vive criando aqui né Essas consultas que a gente vive criando bom o que acontece é que todas essas consultas que nós fizemos elas são temporárias então um resultado que aparece ali para mim nessa janela de output ele deixa de existir a partir do momento que eu crio uma nova visualização por exemplo criei esse essa tabela aqui que me dá esse agrupamento se eu fizer um outro select por exemplo que vai eh selecionar para mim todos os clientes eh onde o
sexo seja igual a masculino quando eu crio essa nova visualização automaticamente a visualização anterior se perde e eu tenho agora uma nova visualização mas como é que eu poderia fazer para armazenar essa essas visualiza esses essas consult que eu estou fazendo como é que eu poderia pegar essa consulta aqui e guardar como se fosse uma tabela vamos supor que eu precise o tempo todo fazer esse essa consulta aqui no meu banco de dados e o mais mais inteligente seria eu ter uma tabela que já me me traz aquelas informações de que forma eu poderia já
deixar salvo ali no meu banco de dados bom eu poderia trabalhar com views né uma View ela vai ser uma forma da gente armazenar o resultado de uma consulta dentro do nosso banco de dados pra gente poder utilizar depois e criar uma View é muito simples logo antes da consulta que eu criei eu vou usar o comando Create View o nome da minha da minha View né pode ser por exemplo View clientes masculino S Então vai ser sempre essa estrutura Create View o nome da View e esse as pra gente poder dar continuidade ali na
criação Então vou selecionar vou executar E aparentemente não vai acontecer nada né mas o que que aconteceu na verdade essa vi né Essa essa consulta aqui dos clientes que são o sexo masculino ela foi armazenada dentro do meu banco de dados com o nome View clientes M E se eu quiser visualizar essa essa View né se eu quiser fazer uma consulta essa View eu consigo fazendo o qu um select asterisco from View clientes M Beleza vou selecionar e vou executar E aí tá lá ele vai me trazer como resultado justamente essa vi que eu acabei
de criar né essa consulta que ficou armazenada dentro do meu banco de dados como é que eu visualizo né onde essa vi está lá no meu banco de dados no caso é o banco de dados base vou clicar nesse simbolozinho aqui ó de atualizar E aqui onde escrito eu vou abrir e vai aparecer para mim uma lista de views n aqui no caso tenho uma View que se chama View clientes M que foi justamente essa vi que eu acabei criar Bele então com ISO a gente as informações de uma cons que foiada eaprove depois essa
é uma dicao interesso de você precisar né reutilizar uma consulta você armazenar essa consulta através de uma vi fechado então com isso a gente encerrou o nosso terceiro bloco tá onde a gente falou sobre análise de dados no es aprendemos sobre eh funções de agregação eh count some me Max Average falamos sobre o group buy falamos sobre filtros em conjunto com Grou by falamos sobre joins subqueries E fechamos com View e agora nós vamos partir pro nosso quarto e último bloco aqui do nosso curso completo de SQL para iniciantes onde a gente vai falar sobre
os comandos que permitem a gente criar bancos de dados né até agora a gente viu como trabalhar com banco de dados pronto a ideia agora é mostrar para vocês como criar um banco de dados do zero Então vou criar uma nova janela aqui de SQL pra gente poder criar isso aí do zero fechado finalmente chegamos aí no nosso último bloco Falta pouco para terminar mas a gente já passou por bastante coisa aqui e a ideia é agora a gente finalizar para você com essa com essa noção aí de como criar um um banco de dados
né do absoluto zero para que você possa também criar a sua casa poder fazer exemplos interessante aí também para você dar continuidade aí nos estudos Então vamos lá Bloco quatro eh Bloco quatro que vai ser sobre criação de bancos de dados Beleza então vamos lá lembrando né O que que são bancos de dados bancos de dados são conjuntos de tabelas né tabelas que vão ser eh que vão armazenar dados esses dados ali eles vão compor o nosso banco de dados até agora a gente trabalhou com tabelas que já estavam prontas né mas a ideia é
mostrar para você como a gente cria um novo banco de dados legal então vamos lá eh a gente já tinha comentado que os dados eles são armazenados dentro do banco de dados por meio de formatos né de tipos então a gente viu lá que por exemplo na tabela de clientes nós temos o ID do cliente que é armazenado como inteiro nome do cliente que é armazenado como texto né Eh renda no al que é armazenado como inteiro e assim vai então os dados eles são armazenados com tipos né e sempre que a gente vai criar
uma tabela é importante a gente não só dizer qual é o nome daquela tabela né Qual o nome da coluna daquela tabela mas também o tipo de dado daquela coluna tá vamos lá antes da gente criar uma tabela primeiro é importante a gente criar um banco de dados Ok como que Nós criamos um banco de dados aqui simples usando o comando Create Database certo Create Database e logo em seguida o nome do banco de dados que nós vamos criar tá no caso eu vou criar aqui um banco de dados chamado curso SQL curso skl ponto
e vírgula vou selecionar esse código vou executar e esse banco de dados foi criado como é que eu faço para visualizar esse banco de dados eu vou vir aqui ó Nessa setinha de atualizar aqui no canto superior esquerdo vou clicar nela e vai aparecer aqui esse banco de dados chamado curso SQL até o momento ele não tem nenhuma informação tá agora o que eu vou querer fazer é criar todas as tabelas né que eu vou criar aqui agora dentro desse banco de dados próximo passo Então vai ser utilizar esse banco de dados como padrão nós
vimos ali que nós podemos clicar com botão direito no banco de dados e selecioná-lo como default mas agora eu quero mostrar como a gente faria por código então como é que eu faço para utilizar um banco de dados como padrão logo em seguida aqui ó do meu Create Database eu V vou usar o comando use para dizer para ele que eu quero usar aquele banco de dados como padrão então ó criei o banco de dados agora eu vou usar esse banco de dados então use curso SQL ponto e vírgula vou selecionar esse código vou executar
e repara que agora o meu banco de dados curso SQL ele apareceu como né significa que ele está pronto para eu criar tabelas ali dentro beleza posso começar a criar as minhas tabelas então tá então vamos lá criar a primeira tabela vamos supor que eu queira criar uma tabela de alunos tá tabela de alunos então Create table certo Create table e vou dar um nome para essa tabela tá essa tabela vai se chamar alunos logo em seguida para criar a tabela dei o nome para ela vou abrir um parênteses vou fechar o parênteses ponto e
vírgula aqui dentro desse trecho né dentro desse desse bloco eu vou informar qual é o nome das colunas dessa tabela e qual o tipo de dados dessas colunas Então imagina que eu queira agora né adicionar algumas informações eu vou fazer uma tabela aqui bem bem resumida mas só para dar essa ideia para você tá primeira informação que eu vou colocar ali vai ser o ID do aluno Ok Esse vai ser o nome da primeira coluna logo em seguida eu preciso dizer qual vai ser o tipo de dado daquela coluna e d do aluno ela vai
armazenar um tipo de dado esse tipo de dado ele pode ser de quatro tipos principais o primeiro deles é o tipo int de inteiro ou pode ser do tipo decimal ou do tipo date ou do tipo varchar que é o tipo texto então então int para número inteiro decimal para número decimal date para tipo data e varchar para tipo texto muito simples tá no caso do ID do aluno ele vai ser do tipo inteiro Então esse ID aluno vai ser do tipo inteiro próximo outra coluna vai ser a coluna de nome nome vai ser do
tipo texto Então vai ser do tipo varchar beleza para identificar uma coluna do tipo do texto além de dizer qual é o nome do tipo que no caso é varchar eu preciso dizer qual é a quantidade de caracteres que essa que esse texto ele vai aceitar no caso eu vou permitir ele aceitar até 100 caracteres beleza 100 caracteres depois disso eu vou colocar uma outra informação ali por exemplo vou colocar e qual que é a nota desse aluno tá E essa nota vai ser o número decimal tá vírgula e a próxima informação eu vou colocar
ali por exemplo Qual que é o curso desse aluno vai ser do tipo bar charar também vai aceitar sem caracteres então com isso a gente criou uma tabela que vai ter quatro colunas que vão ser as colunas de ID do aluno nome nota e Curso vou executar esse código aqui criei a minha tabela próximo passo agora vai ser selecionar essa tabela então select asterisco from a tabela alunos vou selecionar e vou executar e a princípio não tem nenhuma informação nessa minha tabela como é que eu faço para adicionar informações nessa tabela vou usar o comando
insert into então nós utizamos o comando Create table para criar a tabela criar a tabela e agora eu vou usar o comando insert í para inserir dados na tabela Beleza então vou fazer um insert in como é que vai funcionar aqui eu vou dizer qual o nome da tabela que eu vou querer selecionar e logo em seguida e logo em seguida Quais são os nomes das colunas que estão nessa nessa tabela que eu vou adicionar valores Então a primeira vai ser ID aluno vírgula nome vírgula nota vírgula curso OK logo em seguida eu vou usar
o comando velhos para dizer quais são os valores que eu vou adicionar e a partir daqui não tem mistério vou adicionar o id1 o aluno vai ser a Ana eh a nota vai ser por exemplo o 8 E5 e o curso vai ser SQL vírgula a partir daqui eu vou adicionar várias informações ali então vamos lá deixa eu botar mais três informações aqui o aluno do vai ser o Breno a nota dele vai ser sete o curso dele vai ser Python vou colocar também a Carla a nota dela vai ser cinco curso dela vai ser
Python então com isso a gente vai adicionar valores ali dentro vou selecionar esse meu insert vou executar tá eh e aí ele vai armazenar essas informações e agora se eu quisesse selecionar esse código aqui selecionei e executei ele vai me trazer ali o resultado Qual que é o ponto aqui agora que é importante a gente analisar tá repara que a nota ela não veio ali como sendo o 8,5 como eu a princípio gostaria de armazenar Por quê o tipo decimal Além de eu informar que ele é decimal Eu também preciso passar para ele duas informações
tá Que informações são essas as informações de quantidade de eh de dígitos que eu vou querer armazenar e a quantidade de casas decimais tá então por exemplo nesse caso aqui eu quero armazenar um número decimal que tem 10 dígitos e duas casas decimais tá então esse ajuste eu vou fazer na próxima vez que eu executar al meu Cosmo Tá mas vamos darid aqui desse jeito aqui eu armazenei três informaões aliha de alunos Mas vamos fazer o seginte imagina que eu quisesse Agora inserir uma nova informação então inser a tabela de alunos que também vai ter
esse formato aqui ok vai ter alguns valores só que dessa vez eu não vou adicionar todos os valores eu vou colocar o id do Aluno por exemplo quat certo o nome eu vou simplesmente deixar em branco a nota eu vou colocar cinco e o curso eu vou colocar como sendo SQL tá E nesse caso aqui então eu não vou passar informação de nome são essas informações que eu vou querer adicionar o ID do aluno que vai ser o id4 a nota que vai ser c e o curso que vai ser de SQ ponto e vírgula
se eu executar esse código aqui ó executei ele adicionou a informação e eu se eu selecionar a minha tabela de alunos novamente repara que eu tenho ali um aluno agora que não tem nome que ele tem um valor nulo Qual que é o problema aqui né o problema né é que o ideal é que eu não tivesse um aluno com um sem o nome na verdade o ideal é que todos os meus alunos tivessem nome só que da forma como eu estruturei esse banco de dados eu consigo cadastrar alunos sem o nome só que isso
não é o ideal o ideal seria eu conseguir restringir a informação que entra ali e garantir que ele só vai aceitar valores que não sejam nulos essa restrição né essa regra que euo na hora de fazer a minha na hora de criar meu banco de dados eu crio na no momento do meu Create table então para garantir que toda vez que eu adicionar um valor numa tabela ela precisa ter valores não nulos eu preciso de alguma forma especificar ISO meu banco de dados e agora vou mostrar isso para vocês né como é que a gente
consegue deixar o meu banco de dados mais confiável né mais seguro e garan que ningém vai deixar de passar informação ali né então vamos lá vamos primeiro desfazer essa tabela Tá eu vou logo aqui antes eu vou dar um drop nessa tabela vou excluir essa tabela então drop table chamada alunos certo vou excluir essa tabela beleza e agora eu vou recriar essa tabela só que dessa vez com aquela correção né do número decimal e também garantindo que ela nunca vai aceitar valores nulos para garantir que ela não aceite valores nulos eu vou ter que criar
uma coisa chamada constraint ou restrição uma constraint é uma regra que eu crio na hora de criar a minha tabela para garantir que os valores na tabela sempre vão atender a um determinado critério n e Existem várias constraints tá constraints nós temos a constraint not n que evita que um valor nulo seja cadastrado nós temos a constraint chamada Unique que garante que os valores de uma coluna nunca vão se repetir nós temos a constraint check que vai verificar se os valores de uma coluna atendem ao que pode ser colocado Ali temos a constraint primary Key
e temos a foreign Key tá para identificar quem é Chaves primárias e quem é chave estrangeira ali em um banco de dados Tá mas no caso o que interessa pra gente aqui que garantir que eu nunca né vou conseguir adicionar um valor nulo na minha tabela Então nesse caso vou ter que trabalhar com a construite not nul e como é que eu crio essa constraint aqui na minha tabela de alunos logo depois de cada coluna que eu quero garantir que não vai ter valores nulos eu vou vir aqui logo depois e escrever o valor not
not nul tá Então olha só essa coluna ID do aluno que vai ser do tipo inteiro não nulo eu vou garantir que essa coluna não aceita valores nulos o mesmo vale por exemplo para nome então Posso garantir que a coluna nome não aceita valores nulos que a coluna nota não aceita valores nulos que a coluna curso não aceita valores nulos então com isso eu criei constraints para garantir que aquela tabela não vai aceitar valores nulos Então vamos fazer aqui novamente vou executar esse código vou criar minha tabela Beleza agora vou adicionar esses valores aqui aqui
dessa vez eu vou corrigir né essee ID na verdade a TR então ID 1 2 e 3 vou selecionar vou executar Beleza deixa eu olhar como é que tá a tabela executei E aí tá lá tá agora apareceu ali o valor decimal certinho Lembrando que esse primeiro esse primeiro valor aqui é a quantidade de dígitos que eu posso ter e o dois é a quantidade de números decimais então aqui no caso por exemplo o que que é a quantidade de dígitos eu ter esse número aqui ó 9 9 9 99 3 6 7 8 9
10 então Ó esse valor aqui o que que ele significa eu posso ter 10 dígitos então 1 2 3 4 5 6 7 8 9 10 sendo que dois deles são decimais tá isso que significa esse 10,2 talvez eu pudesse ter colocado aqui no máximo três dígitos e duas casas decimais né ou quatro dígitos e duas casas decimais Mas enfim essa aqui a ideia aí do número mal Então olha só adicionei Ok essas linhas aqui agora eu vou tentar adicionar uma nova linha de aluno só que sem considerar o nome daquele aluno Será que eu
vou conseguir Então olha só eu vou fazer um insert aqui ó sem considerar o nome do aluno vou executar e olha só não aconteceu nada você pode achar que deu certo porque o insert ele só insere valores mas se você olhar aqui embaixo nesse nessa última linha vermelha você vai ver que deu um erro ele tá tá dizendo que o o campo nome ele não tem nenhum valor ali e eu não posso ter isso por quê Porque eu tô dizendo que o nome ele não aceita valores nulos Então dessa forma que eu criei a minha
tabela do banco de dados eu deixo essa tabela mais segura mais confiável para evitar que valores nulos sejam cadastrados aqui então se eu quiser adicionar uma pessoa né um aluno eu vou ter que necessariamente colocar o nome dele então vamos lá ID número 4ro eh aluno vai ser Diego a nota dele vai ser c o curso vai ser SQL então selecionei executei agora funcionou se eu selecionar o meu código de alunos e executar novamente tá lá eu tenho a minha tabela com as quatro informações fechado então criação de Constru vai ser muito útil pra gente
para isso n para garantir ali que os valores da tabela vão ser coerentes dentro de uma regra que eu estabelecer então falamos sobre Create table e falamos sobre o insert in né como é que eu faria se eu quisesse Por exemplo agora atualizar valores em uma tabela Então vamos supor que e a nota do Diego para SQL mudou agora A ideia é que a nota dele seja oito né ele fez uma prova final e tirou oito substituiu a nota como é que eu faço para atualizar Então vamos lá atualizando atualizando valores tabela para atualizar nós
vamos usar um comando chamado update então update e logo em seguida vou dizer qual o nome da tabela que eu quero atualizar no caso eu quero atualizar a tabela de alunos certo depois do update eu vou ter que passar duas coisas Primeiro qual vai ser a que quer alter Qual informação queer qu é a linha que eu vou precisar considerar para fazer aquela atualização então eu vou atualizar a minha tabela de alunos e vou setar né eu vou definir que a coluna de nota seja igual a oo Ok só que muito importante são duas informações
que eu preciso passar qual que vai ser a coluna né que eu vou querer alterar no caso nota vai ser igual a o só que além disso qual vai ser a linha que eu quero alterar porque se eu executar o código desse jeito aqui todas as informações da minha tabela vão alterar não é o que eu quero eu quero atualizar apenas a linha do Diego então logo depois do Set eu vou colocar o comando Where o ID do aluno vai ser igual a 4 né Eu quero atualizar a nota onde o ID do aluno é
igual a 4 simples assim tá então esse eu não posso esquecer vou selecionar vou executar eh deu certinho ali né apareceu verdinho se eu executar o código agora select tá lá agora o Diego ele tem uma nota oito para o curso de skl fechado então não esqueça de utilizar o comando weare para garantir que você vai atualizar na linha correta fechado beleza pra gente partir aqui para finalizar vamos agora ver como Exu dados de uma tabela Então vamos supor que o Breno [Música] nunoo sa n não é maisun não faz mais do noss curso de
Python Então agora eu queru aa doen como que eu podia fazer ISO US oando delete ok delete a minha tabela de alunos onde o o ID do aluno vai ser igual a dois então agora eu quero deletar da minha tabela de alunos o ID do aluno igual a do que no caso é o Breno então executando esse código aqui tá lá ele executou essa linha para mim e se eu fizer um select na minha tabela de alunos eu tenho lá apenas os alunos Ana Carla e Diego e o o nosso aluno de ID número dois
o Breno ele foi excluído foi deletado da tabela Beleza então com isso nós finalizamos aí essa parte de criação de tabelas e banco de dados E fechamos aqui o nosso curso completo para iniciantes lembrando de tudo que nós falamos falamos sobre o que que são banc de dados né que são conjuntos de tabelas que vão armazenar informações essas informações elas ficam dentro do computador nós utilizamos o SQL para conseguir trabalhar com essas informações dentro de sgbds que são sistemas de bancos de dados esse sistemas de bancos de dados podem ser o mysc o post o
Oracle o sk server dentre outros tá o es é uma linguagem padrão que pode ser utilizada Independente de qual banco deado de você trabalhar nós utilizamos aqui nesse curso o programa MySQL e aqui nós vimos como fazer consultas básicas como utilizar o select distinct como utilizar o limit Order como fazer filtros utilizando o a então lembra a gente falou sobre o end sobre o War sobre o in between o like is notn depois a gente falou sobre análise de dados com SQL com funções de agregação cálculos no SQL né como fazer agrupamentos como trabalhar com
joins relacionamentos subqueries como criar views E fechamos aqui o nosso curso com a parte de criação de banc de dados né usando Create Database o Create table drop table certinho o update e o delite também então isso espero que você tenha aproveitado muito esse conteúdo tá feliz aí de tá com você com a gente até esse momento Então aproveita para revisar todos esses assuntos te garanto que com esse conhecimento você saindo daqui você já vai est muito mais habilitado E preparado para trabalhar com dados esql tá como analista de dados como cientista de dados como
engenheiro de dados desenvolvedor de banco de dados enfim com esse conteúdo aqui você já consegue fazer muita coisa aplicar aí já a partir de hoje ainda a partir de amanhã e já começar a ter resultado Beleza então é isso encerramos a nossa aula desejo para você ótimos estudos tá um grande abraço e a gente se vê numa próxima aula