Cláusulas

 

Predicados Where Select From Group By Order By Having Volver

Cláusula WHERE

Especifica a qué registros de las tablas enumeradas en la cláusula FROM afecta una instrucción SELECT , UPDATE o DELETE.

Sintaxis

SELECT listadecampos
FROM expresióndetabla
WHERE criterios

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

Parte

Descripción

listadecampos

Nombre del campo o campos que se van a recuperar junto 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óndetabla

Nombre de la tabla o tablas de las cuales se recuperan datos.

 

criterios

Expresión que deben cumplir los registros para ser incluidos en los resultados de la consulta.

 

 Comentarios

El motor de base de datos Microsoft Jet selecciona los registros que cumplen las condiciones enumeradas en 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 incluye una cláusula WHERE ni una cláusula 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 = 'Ventas') o todos los clientes de edades comprendidas entre los 18 y los 30 años (WHERE Edad Entre 18 Y 30).

 

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

 

WHERE es similar a HAVING. WHERE determina los registros que se seleccionan. De igual modo, una vez que los registros se agrupan con GROUP BY, HAVING determina qué registros se muestran.

 

Utilice la cláusula WHERE para eliminar registros que no desea que se agrupen mediante la cláusula GROUP BY.

 

Utilice varias expresiones para determinar los registros que devuelve la instrucción SQL. Por ejemplo, la siguiente instrucción SQL selecciona a todos los empleados cuyos salarios superan los $ 21.000:

 

SELECT Apellidos, Salario  FROM Empleados  WHERE Salario > 21000;

 

Una cláusula WHERE puede contener hasta un máximo de 40 expresiones unidas por operadores lógicos, como Y y O.

 

Cuando introduzca un nombre de campo que contiene un espacio o puntuación, escriba el nombre entre corchetes ([ ]). Por ejemplo, una tabla de información de clientes puede incluir información acerca de clientes específicos:

 

SELECT [Restaurante favorito del cliente]

 

Cuando especifique el argumento de los criterios, los literales de fecha deben estar en el formato de EE.UU., aunque no esté utilizando el motor de base de datos Microsoft® Jet con la versión de EE.UU. Por ejemplo, el 10 de mayo de 1996, se escribe 10/5/96 en el Reino Unido y 5/10/96 en los Estados Unidos. Asegúrese de escribir los literales de fecha entre el símbolo de almohadilla (#) como se muestra en los siguientes ejemplos.

 

Para buscar registros fechados el 10 de mayo de 1996 en una base de datos del Reino Unido, debe utilizar la siguiente instrucción SQL:

 

SELECT * FROM Pedidos WHERE FechaEnvío = #5/10/96#;

 

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

 

SELECT * FROM Pedidos WHERE FechaEnvío = DateValue('5/10/96');

 

Utilice este código para el Reino Unido:

 

SELECT * FROM Pedidos WHERE FechaEnvío = DateValue('10/5/96');

 

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

 

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

 

Asegúrese de incluir los corchetes y guiones anidados de la forma indicada.

Volver

 

 

*