Cómo utilizar los predicados de comparación y entre en sentencias SQL
Normalmente, utilizará predicados de comparación SQL para comparar un valor con otro. Por cada fila en la que la comparación se evalúa como un valor cierto que ese valor satisface la DÓNDE cláusula, y la operación (SELECT, ACTUALIZACIÓN, BORRAR, o lo que sea) ejecuta en esa fila. Filas de que la comparación se evalúa como FALSO se omiten. Considere la siguiente sentencia SQL:
* SELECT FROM Calorías FOODSWHERE lt; 219 -
Esta declaración muestra todas las filas de la tabla de alimentos que tienen un valor de menos de 219 en el Calorías columna.
Comparación | Símbolo |
---|---|
Igualdad | = |
No es igual | lt;> |
Menos que | lt; |
Menor o igual | lt; = |
Mas grande que | > |
Mayor que o igual | > = |
A veces desea seleccionar una fila si el valor en una columna cae dentro de un rango especificado. Una manera de hacer esta selección es mediante el uso de predicados de comparación. Por ejemplo, se puede formular una DÓNDE cláusula para seleccionar todas las filas de la tabla de los alimentos que tienen un valor en el Calorías columna mayor que 100 y menor que 300, como sigue:
DONDE FOODS.Calories> 100 Y FOODS.Calories lt; 300
Esta comparación no incluye alimentos con una cantidad de calorías de exactamente 100 o 300 - sólo aquellos valores que caen entre estos dos números. Para incluir los puntos extremos (en este caso, 100 y 300), se puede escribir la declaración de la siguiente manera:
DONDE FOODS.Calories> = 100 Y FOODS.Calories lt; = 300
Otra forma de especificar un rango que incluye los puntos finales es utilizar una ENTRE predicado de la siguiente manera:
DONDE FOODS.Calories entre 100 y 300
Esta cláusula es funcionalmente idéntico al ejemplo precedente, que utiliza predicados de comparación. Esta formulación ahorra algo de escribir - y es un poco más intuitivo que el que utiliza dos predicados de comparación unidos por la conectiva lógica Y.
los ENTRE palabra clave puede ser confuso porque no le dice explícitamente si la cláusula incluye los puntos finales. De hecho, la cláusula hace incluir estos puntos finales. Cuando se utiliza el ENTRE palabra clave, un poco birdy no abatirse para recordarle que el primer término de la comparación debe ser igual o menor que el segundo.
Si, por ejemplo, FOODS.Calories contiene un valor de 200, la siguiente cláusula devuelve un valor Verdadero:
DONDE FOODS.Calories entre 100 y 300
Sin embargo, una cláusula que usted puede pensar que es equivalente al ejemplo anterior devuelve el resultado opuesto, Falso:
DONDE FOODS.Calories ENTRE 300 Y 100
Si utiliza ENTRE, usted debe ser capaz de garantizar que el primer término en su comparación es siempre igual o menor que el segundo término.
Puede utilizar el ENTRE predicar con carácter, poco, y los tipos de datos de fecha y hora, así como con los tipos numéricos. Usted puede ver algo como el siguiente ejemplo:
SELECT Nombre, LastNameFROM CUSTOMERWHERE CUSTOMER.LastName ENTRE 'A' y 'Mzzz' -
Este ejemplo devuelve todos los clientes cuyos apellidos se encuentran en la primera mitad del alfabeto.