Usando operadores aritméticos, lógicos e comparação em consultas SQL
Tutorial e exemplos dos operadores de comparação, matemáticos e lógicos em instruções da linguagem SQL e aplicável a quase todos os bancos de dados. Exemplos práticos do uso deste tipo de filtro para otimizar consultas ao banco de dados.
Índice deste artigo
Quando trabalhamos com a linguagem SQL, especialmente para realizar consultas em banco de dados, contamos com uma variedade grande de opções que permite refinar a consulta com a finalidade de trazer dados específicos dentro daquilo que precisamos.
Assim, a usar o comando Select, é possível implementar diversos filtros, que não apenas facilita a obtenção de dados específicos, bem como otimiza a consulta ao banco tornando assim o processo mais rápido e eficaz.
Dentre os recursos que podemos usar no comando select, estão os operadores aritméticos, lógicos e de comparação que podem ser usados como filtros para obtenção de dados.
Operadores aritméticos, lógicos e comparação são usados em consultas SQL para realizar tarefas como sumar ou agrupar valores, comparar valores do banco de dados com constantes e variáveis, entre outras. Esses operadores nos auxiliam na construções de consultas a fim ajudar na comparação de valores e estabelecer diferenças entre um resultado e outro.
São amplamente usados nos principais banco de dados relacionais, como o SQL Server, MySQL, Access ou Oracle. Vemos uma explanação dos principais operadores.
Veja abaixo alguns exemplos:
Usando operadores aritméticos
Para criar expressões aritméticas em uma consulta SQL usamos os operadores abaixo:
- +(somar)
- -(subtrair)
- *(multiplicar)
- /(dividir)
Os operadores acima podem ser usados apenas em colunas do tipo numérico.
Você poderá usar operadores aritméticos em qualquer cláusula, exceto na cláusula FROM.
SELECT nome, salario, salario*12 As salario_anual
FROM empregados
No exemplo acima multiplicamos o valor da coluna salário por 12 nomeamos a saída de salário_anual.
Precedência de operadores
Quando usamos vários operadores em uma consulta é importante observarmos qual será a precedência dos operadores.
Na tabela empregados temos a coluna salário. Além do salário, cada empregado irá receber no final do ano um bônus de 200.
Para descobrir quanto esse empregado irá receber anualmente, temos de multiplicar o salário por 12 meses e adicionar o bônus de 200.
SELECT nome, salario, 12*salário+200 As salario_anual
FROM empregados
No exemplo acima cada empregado receberia o bônus uma vez no ano, mas vamos considerar agora que o bônus passou a ser mensal.
Neste caso será necessário somar o salário mais o bônus e depois multiplicar por 12. Para resolver esse problema teremos de mudar a precedência e para isto usamos os parênteses, ou seja, tudo que estiver dentro do parêntese é executado primeiro.
Veja o mesmo exemplo com a mudança de precedência:
SELECT nome, salario, 12*(salario+200) As salario_anual
FROM empregados
Operadores de comparação
Os operadores de comparação são usados em condições que comparam uma expressão a outro valor ou expressão. A tabela abaixo mostra os operadores:
- = Igual a
- > Maior que
- >= Maior ou igual a que
- < Menor que
- <= Menor ou igual a que
- <> Diferente de
SELECT codigo_empregado, nome, salario
FROM empregados
WHERE codigo_empregado=8
No exemplo acima, usamos o igual para criar um filtro na cláusula where, este filtro diz que os dados retornados deverão ser do código de empregado IGUAL a 8.
Operadores lógicos
O uso de um operador lógico faz com que duas condições tenham de produzir um resultado único. Uma linha só poderá ser retornada se o resultado global da condição for verdadeiro.
A tabela abaixo mostra os operadores lógicos disponíveis em SQL:
- AND Retorna TRUE se ambas as condições forem verdadeiras
- OR Retorna TRUE se uma das condições for verdadeira
- NOT Retorna TRUE se a condição seguinte for falsa
No exemplo abaixo uma linha será retornada se o empregado for do estado de SP e o seu salário maior que 2200.
SELECT nome, salário, cidade, estado
FROM empregados
WHERE estado='SP' and salario > 2200
Para produzir um resultado diferente basta alterar esta consulta, trocando o operador AND por OR.
SELECT nome, salário, cidade, estado
FROM empregados
WHERE estado='SP' or salario > 2200
Neste caso uma linha será retornado se o empregado for do estado de SP ou se o seu salário for maior que 2200.
Veja também
- 10 itens sobre faculdade a distância – EAD: aprendizado e critérios
- 10 itens sobre investir com pouco dinheiro: onde investir 100,00?
- 250 palavras mais comuns na língua inglesa
- Consulta de pontos na carteira no Detran-SC e Consulta de multas
- Curso técnico de enfermagem ou radiologia? Qual é melhor?
- Box model: padding, borda e espaçamento em CSS
- Melhores faculdades de Relações Públicas e Relações Internacionais
- Qualidade da Educação no Brasil. Escolas públicas e particulares
- Tipos de ciências ou conhecimento humano
- Tipos de professores: Concursado ou CLT, ensino fundamental, médio e superior