Compartir a través de


Operadores de comparación (Visual Database Tools)

En una condición de búsqueda, puede utilizar cualquiera de los operadores estándar de SQL.

Cuando utilice operadores en una condición de búsqueda, se aplicarán las siguientes reglas:

  • Los tipos de datos utilizados en la comparación deben coincidir. Es decir, sólo se puede comparar texto con texto, números con números, etc. Algunos sistemas de administración de base de datos permiten utilizar una función o una palabra clave (como CAST) para convertir temporalmente el tipo de datos en otro tipo de datos. Para obtener más detalles, consulte la documentación de la base de datos.

  • Si compara datos de texto, el resultado dependerá del juego de caracteres que esté utilizando. Por ejemplo, en el caso de que cree una tabla con caracteres escandinavos, los resultados de una búsqueda puede variar por el hecho de utilizar el juego de caracteres (página de códigos) escandinavo en lugar de utilizar otro.

  • Si un valor de comparación es nulo, el resultado será desconocido. Los valores nulos no están asociados a ningún valor, ni siquiera a otras instancias de null. Por ejemplo, si busca un nombre que comience por la letra "M" o por letras posteriores (name >= 'M') y algunas de las filas no contienen ningún valor, no se mostrarán estas filas, independientemente del operador de comparación que utilice.

En la siguiente tabla se resumen los operadores de condición de búsqueda definidos en SQL estándar.

NotaNota

La información de este tema procede de las reglas de SQL-92 estándar.Sin embargo, cada base de datos puede implementar SQL de manera propia.Por tanto, estas instrucciones podrían no ser válidas en algunos casos.Si tiene dudas sobre cómo se utilizan los operadores en una determinada base de datos, consulte la documentación de la base de datos que está utilizando.

Operador

Significado

Ejemplo del panel Criterios*

Ejemplo del panel SQL

=

Igual

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

<> !=

Distinto de

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

>

Mayor 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

>= !<

Mayor o igual que

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

<= !>

Menor o igual que

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

BETWEEN expr1 AND expr2

Comprueba el 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'

IS [NOT] NULL

Comprueba si el contenido de la columna o el resultado de la expresión es nulo

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

[ NOT ] LIKE

Detecta la coincidencia de modelos (normalmente está restringido a tipos de datos de caracteres)

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

expr1 [NOT] IN (val1, val2, ...) – or –expr1 [NOT] IN (subconsulta)

Busca coincidencias con los valores específicos de la lista comprobando si expr1 aparece en una lista de valores o en el conjunto de resultados de una 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'))

ANY (SOME)

Comprueba si una o varias filas del conjunto de resultados de una subconsulta satisfacen la condición especificada (ANY y SOME son sinónimos; el Diseñador de consultas y vistas utilizará ANY al crear una instrucción SQL.)

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

ALL

Comprueba si todas las filas del conjunto de resultados de una subconsulta satisfacen la condición 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] EXISTS

Comprueba si una subconsulta devuelve cualquier resultado (y no un resultado específico)

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

*   Para mayor claridad, en los ejemplos del panel Criterios sólo se incluye un ejemplo para cada operador y no se indica en qué columna de datos se realiza la búsqueda.

**   En el panel Criterios se pueden introducir fechas con el formato especificado en el cuadro de diálogo Configuración regional de Windows. Para obtener información detallada, vea Reglas para escribir valores de búsqueda.

Vea también

Otros recursos

Diseñar consultas y vistas

Referencia (Visual Database Tools)