fala impressionador bora para mais uma aula de SQL E hoje você vai aprender a trabalhar com a estrutura Case w que é uma estrutura utilizada em condições dentro do SQL uma estrutura simples de se utilizar mas ao mesmo tempo muito poderosa que você vai aprender nessa aula então já começa deixando o like no vídeo que isso ajuda demais a gente a fazer sempre cada vez mais conteúdo para vocês e lembra de se inscrever também no canal e ativar o sino de notificação para sempre ser lembrado de todo o conteúdo que sai diariamente aqui no nosso canal toda semana fechado então é isso e vamos [Música] começar mas antes lembra que aqui na descrição do vídeo tem uma série de links que podem ser interessantes para você o primeiro link é um link com informações do nosso treinamento completo de SQL o SQL impressionador então para você que quiser se aprofundar na linguagem se aprofundar em banco de dados dominar de Fato né esse conhecimento dá uma olhada no primeiro link que eu tenho certeza que você vai gostar do nosso treinamento o segundo link é um link com o o nosso minicurso gratuito básico de SQL que eu vou deixar de presente para você que quer começar a entender o que que é o SQL dar os seus primeiros passos Então esse minic curso gratuito pode ser bem legal para você e a partir do terceiro link sempre tem alguns conteúdos adicionais ali para você continuar aprendendo aqui no nosso canal Então vamos lá vamos dar início aqui à nossa aula vamos falar sobre a estrutura casw que é uma estrutura condicionar condicional trabalhar com condições faz parte do nosso dia a dia a todo momento a gente tá eh avaliando condições para fazer isso ou aquilo né você sempre precisa tomar uma decisão e essa decisão é baseada em alguma condição um exemplo bem simples imagina que no final de semana você queira sair né E aí para o lugar para onde você vai sair vai depender se vai fazer sol ou não então uma condição é vai fazer sol se fizer sol eu vou à praia Caso contrário eu vou ao cinema então esse é um exemplo de trabalhar com condições E assim a gente trabalha o dia todo né tomando decisões e com condições e aqui em SQL não seria diferente a gente pode trabalhar com condições E para isso nós vamos utilizar a estrutura cas w então o objetivo dessa estrutura é tratar condições no SQL e a sintaxe ela vai ser bem simples nós vamos utilizar a estrutura Case w dentro de uma consulta select então eu sempre vou começar com select as colunas que eu vou querer selecionar de uma determinada tabela E aí sim a estrutura com condicional Case when essa estrutura ela vai ter esse formato aqui sempre começa com Case termina com and e aqui no meio nós vamos ter as condições essas condições elas vão ser e seguidas sempre dessa palavrinha when então Case né Ou seja quando né caso quando a condição um for satisfeita então eu quero o resultado número um quando a condição dois for satisfeita então eu quero o resultado dois quando a condição n né porque eu posso ter n condições for satisfeita Então me dá o resultado n caso contrário ELS me dá um resultado né alternativo Então essa vai ser a estrutura Case que nós vamos poder trabalhar com diferentes condições e agora vamos fazer alguns exemplos para entender na prática como é que vai funcionar eu tenho aqui uma tabela que eu vou selecionar que faz parte do meu banco de dados é uma tabela chamada produtos eu tô usando o banco de dados MySQL mas essa essa estrutura condicional você pode utilizar em qualquer banco de dados né em qualquer sistema de banco de dados em qualquer tabela que você tenha eu vou utilizar em cima dessa tabela de produtos para que você possa entender essa lógica selecionando essa tabela né fazendo um select simples eu tenho essas eh sete informações né eu tenho o ID do produto Qual que é o nome do produto o ID da categoria A Marca o número da série preço unitário e custo unitário uma possível aplicação de estrutura condicional aqui caser seria por exemplo eu queria definir qual é a classe de um produto a partir do seu preço e é isso que nós vamos fazer aqui nesse exemplo 1 a eu quero classificar os meus produtos de acordo com o preço unitário onde os produtos que T um preço unitário maior ou igual a 3. 000 vão ser Classe A já os produtos com preço unitário menor do que 3. 000 vão ser classe B então ou os produtos são Classe A Ou eles são classe B como é que a gente traduz isso numa estrutura Case vamos começar aqui select aqui as colunas que eu quero selecionar eu posso selecionar quantas eu quiser mas vamos selecionar nome produto vírgula preço unitário vírgula e aqui eu vou colocar a minha estrutura Case então Case when primeira condição qual vai ser a primeira condição preço unitário preço unitário maior ou igual a 3.
000 então quando o preço unitário for maior ou igual a 3. 000 eu vou querer como resultado produto Classe A bom se o produto não for Classe A Ele só pode ser classe B Então não preciso verificar de novo qual é o preço dele eu posso simplesmente trabalhar com o ELS então ELS classe B termino com and e aqui eu posso trabalhar com alas né com apelido para essa coluna para o nome ficar intuitivo Então vou colocar aqui ó que o nome dessa coluna que vai ser criada vai ser classe produto tudo isso eu tô selecionando eu tô analisando em cima da tabela produtos tá então repara que aqui eu tô fazendo um select from normal Estou estou selecionando colunas nessa tabela mas eu vou criar uma coluna que vai me tratar o preço unitário vai trazer se o produto é classe A ou classe B Então vamos executar esse código aqui e depois a gente vai tentar entender melhor como é que ele tá funcionando né mas tá lá então tenho aqui a minha lista de produtos seus respectivos preços e as suas respectivas classes de acordo com o preço posso clicar em cima aqui dessa coluna de preço unitário que ele já vai classificar aqui em ordem crescente para mim ou decrescente então aqui ó fica fácil de eu visualizar agora aqui todos os produtos Classe A que vão até aqui eles têm um preço maior ou igual a 3. 000 e todos os classe B tem um preço menor do que 3.
000 Então como é que tá funcionando aqui selecione as colunas nome produto e preço unitário que são essas duas colunas aqui nome produto e preço unitário e crie uma terceira coluna para mim chamada classe produtos que vai ser essa coluna aqui que ele criou para mim e como é que ela vai funcionar quando o preço unitário for maior ou igual a 3000 então eu quero Classe A Caso contrário eu quero classe B como eu só tenho duas condições eu vou fazer dessa forma como seria se eu quisesse criar mais condições né se eu quisesse ter uma classe intermediária então além da Classe A e classe B Eu quero uma classe C Eu também trabalharia com Case w e eu faria uma pequena mudança e é o que a gente vai fazer nesse exemplo aqui ó toda vez que o preço unitário for maior igual a 3. 000 ele vai ser Classe A toda vez que ele for eh tiver um preço entre 1000 e 3. 000 vai ser classe B e o caso contrário ou seja preço unitário menor do que 1000 vai ser classe C então aqui o que que eu posso fazer eu posso simplesmente copiar esse código então selecionei copiei colei aqui uma prática muito comum em programação né a gente copia um determinado trecho que a gente já fez e só altera depois né então aqui ó o que que eu vou ter que mudar olhando esse Case when a primeira condição vai mudar quando o preço unitário for maior do que 3000 eu quero Classe A Sim continuo querendo Classe A o que vai mudar vai ser a parte daqui ó quando ele não for classe Classe A não necessariamente ele vai ser classe B eu vou ter que tratar a condição para ver se ele é Classe B ou classe C então vou ter que apagar esse ELS e agora sim eu vou colocar um novo when então quando preço unitário e aí eu tenho que repetir a condição tá quando o preço unitário for maior ou igual a 1000 then vai ser classe B Agora sim se ele não é classe A nem classe B caso contrário ele vai ser classe C E aí uma dica né uma sugestão para você saber quantos end você vai colocar aqui vai ser sempre a quantidade de classificações menos um Então olha só eu usei dois wends quantas classificações eu tenho eu tenho três 3 - 1 2 por que vai ser sempre a quantidade de classificações menos 1 porque a última classificação vai ser sempre o caso contrário né a mesma coisa vale para esse aqui eu tenho duas classificações eu vou ter apenas um when porque a outra classificação vai ser o caso contrário tá então tá lá a gente fez essa pequena modificação e já conseguiu adicionar uma nova classificação ali na nossa análise então selecionei o código executei executei e aí tá lá ó deixa eu ordenar essa coluna então eu tenho aqui ó Classe A todo mundo que é acima de 3.
000 classe B entre 3. 000 e 1000 e classe C todo mundo que tem o preço abaixo de 1000 né aí você pode se perguntar não pera aí Marcos Olha só e o notebook ID pad ele tem um preço de 4200 e ele é maior do que 3.