CodeGym /Cursos /SQL SELF /Filtrando dados com operadores de comparação (=, >, &l...

Filtrando dados com operadores de comparação (=, >, <, <>)

SQL SELF
Nível 2 , Lição 1
Disponível

Então, a gente já sabe como usar o comando SELECT. Pelo menos, já aprendemos a puxar dados do banco, escolher as colunas que queremos e criar queries que começam a transformar dados crus em informação útil. Agora chegou a hora de adicionar uns "filtros" nessa nossa paleta mágica. Sim, hoje vamos falar sobre a filtragem de dados usando operadores de comparação tipo =, >, < e <>.

Quando você trabalha com tabelas grandes, provavelmente não quer ver todos os dados (a não ser que você curta o caos). Pra pegar só as linhas que interessam, no SQL a gente usa a palavra-chave WHERE. Ela deixa você definir condições que cada linha precisa cumprir pra aparecer no resultado da query. E pra essas condições, a gente usa os operadores de comparação.

Sintaxe de filtragem com WHERE

SELECT coluna1, coluna2
FROM tabela
WHERE condicao;

Bem simples: a gente coloca WHERE depois do FROM e escreve a condição que as linhas precisam cumprir.

Por exemplo, bora puxar dados da tabela students:

SELECT name, age
FROM students
WHERE age > 18;

Essa query pega só os estudantes (nome e idade) que têm mais de 18 anos. Moleza, né? Agora bora mergulhar nos operadores de comparação.

Principais operadores de comparação

No SQL tem vários operadores de comparação que vão te ajudar a filtrar os dados do jeito que você quiser. Você já deve conhecer eles da matemática, mas bora dar uma olhada no que interessa pra SQL. Aqui estão os mais usados:

  1. = — Igual.
  2. <> — Diferente (em algumas SGBDs dá pra usar !=, mas o padrão SQL é <>).
  3. > — Maior que.
  4. < — Menor que.
  5. >= — Maior ou igual.
  6. <= — Menor ou igual.

Tabela de operadores de comparação

Operador Significado Exemplo Resultado
= Igual age = 20 Retorna linhas onde a idade é 20
<> Diferente age <> 20 Retorna linhas onde a idade não é 20
> Maior que age > 18 Retorna linhas onde a idade é maior que 18
< Menor que age < 18 Retorna linhas onde a idade é menor que 18
>= Maior ou igual age >= 18 Retorna linhas onde a idade é 18 ou mais
<= Menor ou igual age <= 18 Retorna linhas onde a idade é 18 ou menos

Exemplos de uso dos operadores de comparação

Exemplo 1: Pegando estudantes com mais de 20 anos

Aqui está nossa tabela:

id name age
1 Alex Lin 22
2 Anna Song 19
3 Otto Art 21
SELECT name, age
FROM students
WHERE age > 20;

Aqui a gente coloca a condição age > 20 pra pegar só quem tem mais de 20 anos. Se tiver estudante com 19, já era, não aparece no resultado.

No nosso caso, o resultado vai ser assim:

name age
Alex Lin 22
Otto Art 21

A Anna Song ficou de fora porque só tem 19 anos.

Exemplo 2: Pegando funcionários com salário de pelo menos 50.000

Aqui está a tabela employees:

first_name last_name salary
Julia Kim 48000
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

E aqui está a query SQL:

SELECT first_name, last_name, salary
FROM employees
WHERE salary >= 50000;

Essa query retorna todos os funcionários que têm salário igual a 50.000 ou maior que isso. Igual também conta!

first_name last_name salary
Marcus Lee 52000
Anya Patel 50000
Ethan Zhou 61000

Exemplo 3: Pegando produtos com preço menor que 100

product_name price
USB Cable 85
Wireless Mouse 150
Notebook 60
Mechanical Pencil 45
SELECT product_name, price
FROM products
WHERE price < 100;

Se você tem uma loja online, com essa query dá pra pegar todos os produtos que custam menos de 100 (tipo pra uma promoção "Tudo por 99!").

product_name price
USB Cable 85
Notebook 60
Mechanical Pencil 45

Exemplo 4: Excluindo usuários com um certo id

SELECT id, username
FROM users
WHERE id <> 1;

Essa query pega todos os usuários menos o que tem id igual a 1. O operador <> diz "me mostra todo mundo que não é esse valor".

Tabela users:

id username
1 admin
2 elena.gray
3 tom.bishop
4 aria.noble

Resultado da query:

id username
2 elena.gray
3 tom.bishop
4 aria.noble

Erros comuns ao filtrar com operadores de comparação

Quando você tá começando a escrever queries com filtro, é normal errar. Aqui vão alguns casos clássicos pra você ficar ligado:

Problema 1: Erro no nome das colunas

Se você escrever o nome da coluna errado na query, o PostgreSQL vai reclamar. Tipo assim:

SELECT name, age
FROM students
WHERE ages > 18; -- Erro: coluna "ages" não existe

Sempre confere o nome certinho das colunas antes de rodar a query.

Problema 2: Usar o operador de comparação errado

Às vezes a galera confunde os operadores. Tipo:

SELECT name, age
FROM students
WHERE age => 18; -- Erro: operador inválido

O certo é >=, não =>.

Problema 3: Filtrar por valores que não existem

Se você tentar filtrar por um valor que não tem na tabela, a query roda, mas não retorna nada. Tipo:

SELECT name
FROM students
WHERE age = 999; -- Resultado: 0 linhas

Isso não é erro de sintaxe, mas pode confundir se você tava esperando ver algum dado.

Aplicação prática

Filtrar dados com operadores de comparação serve pra vários cenários:

  • Análise de dados: tipo pegar todos os clientes que gastaram mais de 10.000 rupias.
  • Relatórios: selecionar funcionários com salário acima da média.
  • Monitoramento: ver quem não acessou o sistema no último mês.

SQL deixa você puxar rapidinho os dados que precisa de tabelas enormes, e os operadores de comparação são o primeiro passo nessa jornada.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION