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.
|