Alura > Cursos de Data Science > Cursos de SQL e Banco de Dados > Conteúdos de SQL e Banco de Dados > Primeiras aulas do curso SQL: utilizando operadores lógicos

SQL: utilizando operadores lógicos

Utilizando operadores lógicos - Utilizando operadores lógicos

Boas-vindas ao curso de Entendendo Operadores Lógicos e Básicos no SQL. Sou o Igor do Nascimento, instrutor na Escola de Dados, e vou me descrever para você.

Audiodescrição: Igor se descreve como uma pessoa branca. Tem cabelos escuros e curtos, olhos castanhos e uma pinta acima do lábio superior. Usa uma camiseta cinza. No fundo, parede branca iluminada pelas cores azul e verde. À esquerda, vaso de planta para decoração.

Vamos falar sobre o conteúdo que abordaremos neste curso.

Objetivo do curso

Este curso trata dos operadores lógicos e básicos, e foi pensado para você que já aprendeu esses conceitos, talvez da Formação Conhecendo SQL e agora deseja praticar e reforçar esses conceitos.

A dinâmica do curso será a seguinte: para reforçar esses conteúdos, vamos passar por cada um dos operadores que queremos aprofundar e praticar. Faremos um exemplo pequeno para cada um deles, para que você possa seguir por uma lista de exercícios. Assim, você terá diversos exercícios para praticar esses conceitos e aplicá-los em diferentes contextos, entendendo com mais profundidade como eles funcionam.

Caso você tenha alguma dúvida, temos um glossário na atividade seguinte que explica em detalhe cada um desses conceitos. Se a dúvida persistir, temos nossa comunidade no Discord e o Fórum da Alura.

Vamos relembrar esses conceitos?

Tipos de operadores abordados

Vamos passar por alguns operadores:

Para testar esses operadores, precisamos de uma tabela. Nesse caso, vamos utilizar é uma tabela de clientes, que contém as colunas Nome, Cidade, Idade e Ativo, que indica se o cliente é ativo ou não. Temos cinco exemplos de clientes com essas informações.

Resultado da consulta SELECT FROM Clientes:

NomeCidadeIdadeAtivo
AnaSão Paulo261
BrunoRio de Janeiro300
CarlaSão Paulo220
DanielBelo Horizonte351
ElisaPorto Alegre280

Operador AND

Queremos fazer uma consulta onde pegamos duas características dos clientes, como a cidade e a idade, e filtramos esses resultados. Para isso, utilizamos o operador AND.

Para isso, fazemos uma consulta de SELECT * para selecionar todas as colunas da tabela Clientes. Mas, colocamos duas condições através da cláusula WHERE: esses clientes devem ser apenas da cidade de São Paulo e maiores que 25 anos.

SELECT * FROM Clientes
WHERE Cidade = 'São Paulo' AND Idade > 25;
NomeCidadeIdadeAtivo
AnaSão Paulo261

A motivação por trás dessa consulta pode ser, por exemplo, uma ação de marketing voltada para pessoas de São Paulo com uma certa idade. Com o operador AND, conseguimos unir duas ou mais características em somente uma consulta.

O operador AND combina condições e retorna apenas os registros que satisfaçam todas as condições.

Ao executar essa consulta, obtemos a cliente Ana, que é de São Paulo e tem 26 anos.

Operador OR

Outro operador que queremos explorar é o OR.

O operador OR é parecido com o AND, mas retorna registros que satisfaçam uma ou mais condições.

Não é obrigatório satisfazer todas as condições, mas pelo menos uma.

Por exemplo, queremos buscar por clientes que sejam de São Paulo ou do Rio de Janeiro. Para fazer isso, podemos combinar essas duas cláusulas através do operador OR:

SELECT * FROM Clientes
WHERE Cidade = 'São Paulo' OR Cidade = 'Rio de Janeiro';
NomeCidadeIdadeAtivo
AnaSão Paulo261
BrunoRio de Janeiro300
CarlaSão Paulo220

A consulta retorna três registros: Ana, de São Paulo; Bruno, do Rio de Janeiro; e Carla, de São Paulo.

Operador NOT

O próximo operador lógico é o operador NOT, que serve para negar uma verificação.

Nesse caso, queremos buscar por clientes que não sejam de São Paulo. Na tabela original, temos clientes de São Paulo, Rio de Janeiro, Belo Horizonte e Porto Alegre. Poderíamos buscar por todas essas cidades, mas seria mais complicado se tivéssemos mais cidades do Brasil.

Em vez de listar todas as outras cidades, colocamos o NOT antes dessa verificação lógica para negar a situação que não queremos. Nesse caso, não queremos clientes cuja cidade seja São Paulo.

SELECT * FROM Clientes
WHERE NOT Cidade = 'São Paulo';
NomeCidadeIdadeAtivo
BrunoRio de Janeiro300
DanielBelo Horizonte351
ElisaPorto Alegre280

O operador NOT serve para inverter uma condição, retornando registros que não atendem ao critério.

O resultado dessa operação são os clientes Bruno, Daniel e Elisa, que não são de São Paulo.

Operador DISTINCT

Agora, vamos passar para os operadores básicos.

Um operador importante no SQL é o DISTINCT, que remove duplicadas do resultado da consulta.

Com esse operador, podemos verificar quais cidades existem na tabela de Clientes. Para isso, selecionamos a coluna de Cidade e usamos DISTINCT para pegar uma representação de cada um desses valores.

SELECT DISTINCT Cidade FROM Clientes;
Cidade
São Paulo
Rio de Janeiro
Belo Horizonte
Porto Alegre

O resultado dessa consulta são as cidades São Paulo, Rio de Janeiro, Belo Horizonte e Porto Alegre, que são todas as cidades presentes na base de dados.

Operador IN

Vamos explorar uma segunda tabela para testar outro operador básico. A tabela de produtos que contém o Nome do produto e a Categoria a que pertence.

Resultado da consulta SELECT FROM Produtos:

NomeCategoria
NotebookEletrônicos
SmartphoneEletrônicos
Livro ALivros
Livro BLivros
Cadeira GamerMóveis

Utilizaremos o operador IN quando queremos filtrar por uma lista de valores.

Ressaltamos que existem várias formas de se chegar no mesmo resultado com os vários recursos disponíveis no SQL. Por isso, é necessário avaliar qual a melhor escolha.

Nesse exemplo, temos uma lista com eletrônicos e livros, que são as categorias que queremos filtrar da tabela de Produtos:

SELECT * FROM Produtos
WHERE Categoria IN ('Eletrônicos', 'Livros');
NomeCategoria
NotebookEletrônicos
SmartphoneEletrônicos
Livro ALivros
Livro BLivros

O operador IN vai verificar se um valor está presente em uma lista de valores.

O resultado contém somente os produtos que pertencem às categorias eletrônicos e livros.

Operador BETWEEN

Por fim, vamos utilizar uma terceira tabela para fazer a verificação do último operador básico. A tabela de vendas contém o código ID da venda, o Valor monetário e Data que a venda ocorreu.

Resultado da consulta SELECT FROM Vendas:

IDValorData
130002023-01-15
220002023-02-10
3502023-03-05
4302024-03-15
55002024-04-20

A consulta usará o operador BETWEEN para filtrar dados dentro de um intervalo. Nesse caso, vamos filtrar por um intervalo de tempo para encontrar as vendas que aconteceram no ano 2023.

Para isso, filtramos somente os registros cujas datas que estão entre primeiro de janeiro de 2023 e 31 de dezembro de 2023. Lembrando de colocar as datas no formato ANO-MÊS-DIA.

SELECT * FROM Vendas
WHERE Data BETWEEN '2023-01-01' AND '2023-12-31';
IDValorData
130002023-01-15
220002023-02-10
3502023-03-05

O operador BETWEEN vai retornar um valor dentro de um intervalo, inclusive os limites.

O resultado são as três vendas que aconteceram em 2023, excluindo as de 2024.

Dicas práticas

É possível combinar esses diversos operadores do SQL para fazer consultas mais avançadas e obter um resultado mais rico, seguindo regras de negócios.

Por exemplo, se queremos buscar na tabela de Clientes por clientes de São Paulo que não sejam ativos ou tenham mais de 25 anos, combinamos os operadores AND, OR e NOT:

SELECT * FROM Clientes
WHERE Cidade = 'São Paulo' AND (Idade > 25 OR NOT Ativo);
NomeCidadeIdadeAtivo
CarlaSão Paulo220

Rodando essa consulta, obtemos a Carla, que é de São Paulo e tem 22 anos. Embora não tenha 25 anos, ela não é ativa - portanto, satisfaz uma das condições.

Resumo

Exploramos os operadores:

Espero que você tenha relembrado esses conceitos. Agora é hora de praticar.

Após este vídeo, temos uma atividade com nosso glossário, dicas de ambiente para testar códigos e uma lista de exercícios. Serão diversas situações-problema que você pode resolver utilizando operadores do SQL para praticar e reforçar esses conceitos.

Sobre o curso SQL: utilizando operadores lógicos

O curso SQL: utilizando operadores lógicos possui 11 minutos de vídeos, em um total de 13 atividades. Gostou? Conheça nossos outros cursos de SQL e Banco de Dados em Data Science, ou leia nossos artigos de Data Science.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda SQL e Banco de Dados acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas