El comando SQL Where en una consulta SQL se usa para obtener resultados o filas de una base de datos que cumplen una condición. Esto hace posible obtener sólo la información deseada.
A veces, cuando trabaja con Sql server, no necesita operar en una gama completa de registros. O sería realmente malo si accidentalmente cambiaste o eliminaste todo.
En estos casos, deberá seleccionar solo la parte de los registros en la que desea trabajar, aquellos que satisfacen una determinada condición. Aquí es donde la cláusula de SQL Where es útil.
Sintaxis Sql Where
El comando SQL WHERE usando SELECT:
Selet column_name
From table_name
Where condición
Puede usarlo con otras declaraciones como DELETE, UPDATE. Piense en la cláusula de dónde de una gran condición. Si la condición es true, se devuelve la fila. Hay muchas maneras de crear condiciones. Antes de profundizar en todos ellos, repasemos un buen primer ejemplo.
Ejemplo SQL Where es igual
Una condición de igualdad prueba que una columna o expresión coincide con un valor. Como es de esperar, el signo igual se utiliza para formar la igualdad. En la siguiente declaración SQL estamos devolviendo a todas las Personas cuyo título es Sr.
SELECT ID, Nombre, Apellido,
Correoelectrónico, AddressLine, Ciudad, Cargo
FROM Empleado
where ciudad='santiago'
Para que se devuelva una fila, la expresión ciudad=‘santiago’ debe ser TRUE. Es decir, debe de existir una o más fila con esa condición
Es posible que haya notado que el texto está encerrado entre comillas simples y si es un número se escriben tal cual.
SQL WHERE NO ES IGUAL
A veces es necesario excluir un valor. Para ello se puede utilizar una desigualdad. Para configurar una instrucción sql Where no es igual, utilice el operador <>. Ejemplos de desigualdades son:
Si tuviera que devolver a todas las personas cuya ciuda no fuera ‘santiago’, entonces su consulta sería
SELECT ID, Nombre, Apellido, Correoelectrónico, AddressLine, Ciudad, Cargo FROM Empleado WHERE ciudad<>'santiago'
Operadores de comparación
Hay varios operadores de comparación. La lista adjunta muestra algunos de los operadores más utilizados.
operador | Descripción |
---|---|
= | Igual |
<> | no es igual |
!= | no es igual |
> | Superior a |
< | Inferior a |
>= | Mayor qué o igual a |
<= | Menos que o igual a |
IN | Lista de varios valores posibles |
BETWEEN | Valor incluido en un intervalo dado (útil para números o fechas) |
LIKE | Busque indicando el inicio, el medio o el final de una palabra. |
IS NULL | el valor es nulo |
IS NOT NULL | El valor no es cero |
Rangos numéricos con sql where
A veces desea saber cuándo un valor cae dentro de un rango, como cantidades mayores de 10. Las condiciones de rango que más nos interesan son mayores que, menores que y entre ellas. Los operadores para realizar las distintas pruebas son:
- > (mayor que)
- >= (mayor o igual que)
- < (menos que)
- <= (menor o igual que)
Considere nuestra tabla empleado. Si desea conocer los que están por encima de 10
SELECT ID, Nombre, Apellido, Correoelectrónico, AddressLine, Ciudad, Cargo FROM Empleado where ID >10
Ejemplo sql Where con el comando Update
Ahora tal vez haya recibido un aviso de que Carlos ha cambiado de ciudad y ahora vive en punta cana. Puede cambiar el registro de Carlos con la declaración update, y puede usarlo para asegurarse de que solo se actualice el registro de Carlos. UPDATE WHERE
UPDATE empleado
SET ciudad= 'Punta Cana'
WHERE Nombre= 'Carlos'
Ejemplo sql Where con el comando Delete
Digamos que Carlos ha decidido retirarse de esta lista. Puede actualizar la tabla utilizando una instrucción junto con para asegurarse de que solo se elimine el registro de carlos
DELETE FROM empleado
WHERE Nombre= 'Carlos'
Conclusión
La cláusula SQL WHERE se utiliza para filtrar las filas de los resultados. Solo se mantienen las filas que satisfacen la condición WHERE. En términos de lógica, esto significa que las condiciones se evalúan a TRUE.
Puede utilizar varios operadores SQL para formar condiciones. Los operadores de comparación, BETWEEN e IN son buenos puntos de partida.