Este es uno de un conjunto de artículos sobre Access SQL. En este artículo se describe cómo escribir una cláusula WHERE y se usan ejemplos para mostrar diferentes técnicas que puede usar en una cláusula WHERE.
En una instrucción SQL, la cláusula WHERE especifica criterios que tienen que cumplir los valores de campo para que los registros que contienen los valores se incluyan en los resultados de la consulta.
Para obtener información general sobre Access SQL, vea el artículo Access SQL: Conceptos básicos, vocabulario y sintaxis.
En este artículo
Limitar resultados con criterios
Si quiere usar datos para limitar el número de registros devueltos en una consulta, puede usar criterio. Un criterio de consulta es similar a una fórmula: es una cadena que puede estar formada por referencias de campo, operadores y constantes. Los criterios de consulta son un tipo de expresión.
En la tabla siguiente se muestran algunos criterios de ejemplo y se explica su funcionamiento.
Criterios |
Descripción |
>25 y <50 |
Este criterio se aplica a un campo de número, como Precio o ExistenciasDeUnidades. Solo incluye aquellos registros en los que el campo Precio o ExistenciasDeUnidades contiene un valor superior a 25 y menor que 50. |
DifFecha ("aaaa", [FechaNacimiento], Fecha()) > 30 |
Este criterio se aplica a un campo de fecha y hora, como FechaNacimiento. En el resultado de la consulta solo se incluyen los registros donde el número de años entre la fecha de nacimiento de una persona y la fecha actual es mayor que 30. |
Is Null |
Este criterio se puede aplicar a cualquier tipo de campo para mostrar los registros donde el valor del campo es NULL. |
Como se muestra en la tabla anterior, los criterios pueden parecer muy diferentes entre sí, según el tipo de datos del campo donde se apliquen y sus requisitos específicos. Algunos criterios son sencillos y usan operadores y constantes básicos. Otros son complejos y usan funciones, operadores especiales e incluyen referencias de campo.
Importante: Si un campo se usa como una función de agregado, no se pueden especificar criterios para ese campo en una cláusula WHERE. En su lugar, use una cláusula HAVING para especificar criterios para campos agregados. Para obtener más información, vea los artículos Access SQL: Conceptos básicos, vocabulario y sintaxis y Cláusula HAVING.
Sintaxis de la cláusula WHERE
Puede usar criterios de consulta en la cláusula WHERE de una instrucción SELECT.
Una cláusula WHERE tiene la siguiente sintaxis básica:
WHERE field = criterion
Por ejemplo, imagine que quiere obtener el número de teléfono de un cliente, pero solo recuerda que el apellido del cliente es Valladares. En lugar de buscar en todos los números de teléfono de la base de datos, podría usar una cláusula WHERE para limitar los resultados y que le resulte más sencillo encontrar el número de teléfono. Si se da por hecho que los apellidos se almacenan en un campo denominado Apellidos, la cláusula WHERE sería similar a lo siguiente:
WHERE [LastName]='Bagel'
Nota: No es necesario que los criterios de la cláusula WHERE se basen en la equivalencia de valores. También puede usar operadores de comparación, como mayor que (>) o menor que (<). Por ejemplo, WHERE [Precio]>100.
Usar la cláusula WHERE para combinar orígenes de datos
A veces, puede que quiera combinar orígenes de datos basados en campos que tienen datos coincidentes, pero con tipos de datos distintos. Por ejemplo, un campo de una tabla puede tener el tipo de datos Número, y quiere comparar ese campo con un campo de otra tabla que tiene el tipo de datos Texto.
No se puede crear una combinación entre campos que tengan diferentes tipos de datos. Para combinar datos de dos orígenes de datos basados en valores de campos que contienen tipos de datos distintos, puede crear una cláusula WHERE que use un campo como un criterio para el otro campo, si usa la palabra clave LIKE.
Por ejemplo, imagine que quiere usar datos de la tabla1 y la tabla2, pero solo cuando los datos del campo1 (un campo de texto en la tabla1) coincidan con los datos del campo2 (un campo numérico en la tabla2). La cláusula WHERE sería similar a la siguiente:
WHERE field1 LIKE field2
Para obtener más información sobre cómo crear criterios para usarlos en una cláusula WHERE, vea el artículo Ejemplos de criterios de consulta.