Cláusula WHERE

Especifica los registros de las tablas enumeradas en la cláusula FROM que se ven afectados por una instrucción SELECT, UPDATE o DELETE.

Sintaxis

SELECT lista_de_campos
FROM expresión_de_tabla
WHERE criterios

Una instrucción SELECT que contiene una cláusula WHERE consta de las siguientes partes:

Parte

Descripción

listadecampos

El nombre de los campos que se recuperarán con cualquier alias de nombre de campo, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.

expresión_de_tabla

El nombre de la tabla o las tablas de la que se recuperan los datos.

criterios

Una expresión que deben cumplir los registros para que se incluyan en los resultados de la consulta.


Observaciones

El motor de base de datos de Microsoft Access selecciona los registros que cumplen las condiciones de la cláusula WHERE. Si no especifica una cláusula WHERE, la consulta devuelve todas las filas de la tabla. Si especifica más de una tabla en la consulta y no se ha incluido una cláusula WHERE o JOIN, la consulta genera un Producto cartesiano de las tablas.

WHERE es opcional, pero cuando se incluye, sigue a FROM. Por ejemplo, puede seleccionar todos los empleados del departamento de ventas (WHERE Dept = 'Sales') o todos los clientes de entre 18 y 30 años (WHERE Age Between 18 And 30).

Si no usa una cláusula JOIN para realizar operaciones de combinación SQL en varias tablas, el objeto Recordset resultante no se podrá actualizar.

WHERE es similar a HAVING, que determina los registros que se seleccionan. De la misma forma, después de que los registros se agrupen con GROUP BY, HAVING determina qué registros se muestran.

Use la cláusula WHERE para eliminar los registros que no quiera que se agrupen por una cláusula GROUP BY.

Use varias expresiones para determinar qué registros devuelve la instrucción SQL. Por ejemplo, en la siguiente instrucción SQL se seleccionan todos los empleados cuyos salarios son superiores a 21 000 €:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Una cláusula WHERE puede contener hasta un máximo de 40 expresiones vinculadas por operadores lógicos, como And y Or.

Cuando se escribe un nombre de campo que contiene un espacio o un signo de puntuación, incluya el nombre entre corchetes ([ ]). Por ejemplo, una tabla de información de clientes podría incluir información sobre clientes específicos:

SELECT [Customer’s Favorite Restarant]

Al especificar el argumento criterios, los literales de fecha deben estar en formato estadounidense, incluso si no usa la versión de Estados Unidos del motor de base de datos de Microsoft Access. Por ejemplo, 10 de mayo de 1996 se escribe 10/5/96 en el Reino Unido y 5/10/96 en Estados Unidos. Asegúrese de incluir los literales de fecha con el signo de almohadilla (#) como se muestra en los ejemplos siguientes.

Para buscar los registros con la fecha 10 de mayo de 1996 en una base de datos del Reino Unido, debe usar la siguiente instrucción SQL:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

También puede usar la función DateValue que tiene en cuenta la configuración internacional establecida por Microsoft Windows®. Por ejemplo, use este código para Estados Unidos:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

Y use este código para Reino Unido:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Nota: Si la columna a la que se hace referencia en la cadena de criterios es de tipo GUID, en la expresión de criterios se usa una sintaxis diferente:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Asegúrese de incluir los corchetes y guiones anidados como se muestra.



Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×