Operadores de comparação (Visual Database Tools)

Você pode usar os operadores SQL padrão em um critério de pesquisa.

Quando você usar operadores em uma condição de pesquisa, as seguintes regras se aplicam:

  • Os tipos de dados dos dados utilizados na comparação devem corresponder. Ou seja, somente o texto pode ser comparado a texto, números, números e assim por diante. Alguns sistemas de gerenciamento de banco de dados permitem que você use uma função ou palavra-chave (como CAST) para converter temporariamente os dados para outro tipo de dados. Para obter detalhes, consulte a documentação do seu banco de dados.

  • Se você comparar os dados de texto, o resultado depende do conjunto atualmente em uso de caracteres. Por exemplo, se uma tabela foi criada utilizando caracteres escandinavos, os resultados da pesquisa podem diferir dependendo de seu conjunto de caracteres atual (página de código) é escandinavo ou outro conjunto de caracteres.

  • Se um valor de comparação for nulo, o resultado é desconhecido. Nulos não são combinados para qualquer valor, incluindo outras ocorrências de nulo. Por exemplo, se você estiver procurando por um nome começando com a letra "M" ou superior (name >= 'M') e algumas das linhas não contêm valor, essas linhas não aparecem, não importa que operador de comparação você utiliza.

A tabela a seguir resume os operadores de critérios de pesquisa que são definidos para SQL padrão.

ObservaçãoObservação

As informações deste tópico são derivadas de regras para o padrão de SQL-92. No entanto, cada banco de dados pode implementar SQL em sua própria maneira. Portanto, as diretrizes fornecidas aqui não podem ser aplicadas em todos os casos. Se você tiver dúvidas sobre como usar operadores com um determinado banco de dados, consulte a documentação do banco de dados que você está usando.

Operator

Meaning

Exemplo de painel critérios *

Exemplo de painel SQL

=

Igual

= 'Smith'
SELECT fname, lname
FROM employees
WHERE lname = 'Smith'

<> !=

Não é igual a

<> 'Active'
SELECT fname, lname
FROM employees
WHERE status <> 'Active'

>

Maior que

> '01 Jan 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date >
 '12/31/90'

<

Menor que

< 100
SELECT fname, lname
FROM employees
WHERE job_lvl < 100

>= !<

Maior ou igual a

>= 'T'
SELECT au_lname
FROM authors
WHERE au_lname >= 'T'

<= !>

Menor ou igual a

<= '01 Jan 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date <= 
 '01/01/95'

ENTRE expr1 AND expr2

Testa o intervalo de valores

BETWEEN 
'01 Jan 1995' 
AND 
'31 Dec 1995'**
SELECT fname, lname
FROM employees
WHERE hire_date 
 BETWEEN '12/31/90'
 AND '12/31/91'

[NOT] É NULO

Testes se o conteúdo da coluna ou o resultado da expressão é nulo

IS NULL
SELECT fname, lname
FROM employees
WHERE photo_on_file IS NULL

[NOT] COMO

Executa a correspondência de padrões (geralmente restrita aos tipos de dados de caractere)

LIKE ('MAC%')
SELECT fname, lname
FROM employees
WHERE lname LIKE ('MAC%')

expr1 [NOT] na (val1 val2,...) – ou –expr1 [NOT] (SUBCONSULTA)

Lista de correspondências de valores específicos testando se expr1 aparece em uma lista de valores ou no conjunto de resultados de uma subconsulta

IN ('SW', 'SE')
supplier_id IN
  (subquery)
SELECT fname, lname
FROM employees
WHERE sales_region IN ('SW', 'SE')
SELECT product_name
FROM products
WHERE supplier_id IN
  (SELECT supplier_id
  FROM supplier
  WHERE (country = 'Sweden'))

QUALQUER (ALGUNS)

Testa se uma ou mais linhas no conjunto de resultados de uma subconsulta atendem à condição especificada (qualquer e alguns são sinônimos; a consulta e o modo de exibição Designer usará ao criar uma instrução SQL.)

<> ANY (subquery)
SELECT au_lname, au_fname
FROM authors
where city <> any
 (SELECT city FROM publishers)

TODOS OS

Testes, se o conjunto de todas as linhas no resultado de uma subconsulta atendem à condição especificada

advance > ALL (subquery)
SELECT title FROM titles
where advance > all
  (SELECT advance FROM
   publishers,titles
  where titles.pub_id 
   = publishers.pub_id
  AND pub_name = 
   'Alogdata Infosystems')

[NOT] EXISTE

Testa se uma subconsulta retorna um resultado qualquer (não um resultado específico)

EXISTS (subquery)
SELECT product_name
FROM products
WHERE EXISTS
  (SELECT * FROM 
   orders, products
  WHERE orders.prod_id 
  = products.prod_id)

* Para maior clareza, o O painel de critérios de exemplos incluem apenas um exemplo para cada operador e não indicam qual coluna de dados está sendo procurada.

** Datas podem ser inseridas no painel critérios usando o formato especificado no Configurações regionais do Windows caixa de diálogo. Para obter detalhes, consulte regras para inserir valores de pesquisa.

Consulte também

Outros recursos

Criação de consultas e exibições

Referência (Visual Database Tools)