Criterios de Selección II
Intervalos de Valores
Para indicar que deseamos recuperar los registros según el intervalo de valores de un campo emplearemos el operador Between, cuya sintaxis es:
campo [Not] Between valor1 And valor2 (la condición Not es opcional)
En este caso la consulta devolvería los registros que contengan en "campo" un valor incluido en el intervalo valor1, valor2 (ambos inclusive). Si anteponemos la condición Not devolverá aquellos valores no incluidos en el intervalo.
SELECT *
FROM Trabajadores
WHERE NumEmpleado BETWEEN 15 AND 79;
Esta consulta traerá como resultado aquellos trabajadores que sus números de empleado resten entre los números 15 y 79:
Si anteponemos la condición Not, devolverá aquellos valores no incluidos en el intervalo.
Like
Se utiliza para comparar una expresión de cadena con un modelo en una expresión SQL. Su sintaxis es:
expresión Like modelo
En donde expresión es una cadena modelo o campo contra el que se compara la expresión. Se puede utilizar el operador Like para encontrar valores en los campos que coincidan con el modelo especificado.
Por modelo se puede especificar un valor completo (Hola), o se puede utilizar una cadena de caracteres comodín como los reconocidos por el sistema operativo para encontrar un rango de valores (Like 'Ho%').
El operador Like se puede utilizar en una expresión para comparar un valor de un campo con una expresión de cadena. Por ejemplo, si introduce Like 'C%' en una consulta SQL, la consulta devuelve todos los valores de campo que comiencen por la letra C. En una consulta con parámetros, puede hacer que el usuario escriba el modelo que se va a utilizar.
SELECT *
FROM Trabajadores
WHERE Apellido like 'Me%';
Como vemos, nuestra consulta nos trajo todos aquellos trabajadores que su Apellido empieza por Me, se pueden hacer múltiples combinaciones, por ejemplo si colocamos un NOT Like, nos traerá todos aquellos registros que no comiencen con Me.
SELECT *
FROM Trabajadores
WHERE Apellido Not like 'Me%
In
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los de una lista a buscar, se usa cuando tenemos multíplices valores que consultar. Su sintaxis es:
expresión [Not] In(valor1, valor2,)
SELECT *
FROM Trabajadores
WHERE ID IN ('3441866', '19155753', '11811624', '3307636')
La Cláusula WHERE
La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en la cláusula FROM aparecerán en los resultados de la instrucción SELECT. Después de escribir esta cláusula se deben especificar las condiciones expuestas en los apartados anteriores. Si no se emplea esta cláusula, la consulta devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuación de FROM.
SELECT ID as Cedula, Nombre, Apellido, Sueldo, Fec_Ingreso, Departamento
FROM Trabajadores
WHERE Type_ID = 'V'
And sueldo >5000
And Fec_ingreso >'01/03/2008'
And Nombre like 'An%'
And Departamento not In ('Presidencia', 'Operaciones')
Order by ID asc
Como Observamos en la imagen, tenemos una consulta donde buscamos el ID, Nombre, Apellido, Sueldo, Fecho de Ingreso y Departamento, de los trabajadores, donde el Type_ID sea V, que su sueldo sea mayor a 5000, su fecha de ingreso sea mayor al 01-03-2008, que su nombre empiece por AN, y que no pertenezca a los departamentos Presidencia y Operaciones, y a su vez sean ordenados de menor a mayor por el ID.
Por lo que observamos la clausula WHERE nos permite agregar cuantas condiciones queramos, siempre y cuando no existan ambigüedades.