En este tutorial, discutiremos qué es la cláusula SQL WHERE y cómo usarla. También hablaremos sobre múltiples condiciones usando operadores AND y OR .
La cláusula SQL WHERE es para filtrar datos o registros. Se utiliza para crear una condición para extraer solo los registros necesarios.
Además de usar la cláusula WHERE en la declaración SELECT , también podemos usarla con UPDATE , DELETE y otras declaraciones SQL . Sin embargo, para este tutorial, solo lo usaremos en la instrucción SELECT .
Tabla de contenido
Selección simple usando la cláusula WHERE de SQL
Sin usar la cláusula WHERE en una declaración SELECT , devolverá todas las filas de una tabla en particular.

Para este ejemplo, solo queremos obtener los datos con una categoría Gadgets .

Entonces, necesitamos usar la cláusula WHERE para limitar los resultados. En este ejemplo, creamos una condición que debe verificar la columna Categoría y solo devolver los registros si la Categoría es Gadgets .

Tenga en cuenta que cuando usamos una cadena, debemos encerrarla entre comillas simples ( ' ' ).
Cuando usamos números o enteros, no necesitamos usar comillas simples. Por ejemplo, queremos buscar los registros donde el precio es menor o igual a 30.
Entonces, solo necesitamos crear una consulta donde debería verificar la columna Precio y devolver esas filas con un valor de 30 o menos de 30. Como puede ver, no encerramos el número entre comillas simples también porque es un entero

Cláusula SQL WHERE con el operador AND
También podemos usar la cláusula WHERE con múltiples columnas junto con los operadores AND y OR .
El operador AND funcionará si ambas condiciones son VERDADERAS . Por lo tanto, se usa para obtener registros donde varias condiciones son VERDADERAS .
Por ejemplo, en este escenario, queremos los registros donde el fabricante es GizmoWorks y el precio es inferior a 20.

Hemos creado múltiples condiciones con la cláusula WHERE junto con el operador AND como se muestra en la imagen.

En nuestra mesa, tenemos 2 filas con un fabricante GizmoWorks. Sin embargo, el precio de la segunda fila es superior a 20. Por lo tanto, el resultado solo devolverá la fila que sea verdadera para las 2 condiciones que hemos establecido.

Cláusula SQL WHERE con el operador OR
El operador OR significa que debe devolver registros si cualquiera de las condiciones es verdadera. Por lo tanto, si AND solo devuelve un registro en el que ambas o todas las condiciones son verdaderas, el uso del operador OR devolverá un registro incluso si solo una condición es verdadera.
Digamos, por ejemplo, que queremos obtener los registros donde el nombre del producto es SingleTouch o MultiTouch .

Solo necesitamos crear una consulta para verificar la columna PName de la tabla Product . En esta consulta, usamos la cláusula WHERE y el operador OR para devolver las filas que cumplían cualquiera de las condiciones establecidas.

Uso de la cláusula WHERE en SSMS
Ahora usemos la cláusula WHERE en SSMS . Aquí, estamos usando una base de datos de muestra de Microsoft llamada AdventureWorks2012. Puede aprender cómo configurar esto siguiendo este tutorial .
Para este ejemplo, buscaremos los registros debajo de la tabla SalesOrderHeader .

Para ejecutar esta consulta en SSMS , simplemente resáltela y haga clic en el botón ejecutar.

Sin usar la cláusula WHERE , devolverá todos los registros de esta tabla. Como podemos ver, devolvió 31.465 filas.

Digamos que queremos filtrar esos registros y devolver solo las filas con un TerritoryID de 5. Entonces, usemos la cláusula WHERE aquí para crear esa condición.

Después de ejecutar esa consulta, ahora devolverá 486 filas en lugar de 31 465. Esto se debe a que filtró los registros a aquellos que solo tienen TerritoryID de 5 .

En este momento, todavía estamos trayendo todas las columnas de esa tabla. También podemos limitar las columnas especificando las columnas que queremos ver.
Simplemente cambie el * a los nombres de columna específicos y ejecute la consulta.

Ahora nos dará las columnas específicas que hemos establecido con el mismo número de filas.

Ahora usemos la cláusula WHERE con un valor de cadena . Por ejemplo, queremos limitar los registros según el valor de la columna Número de pedido de compra de P014123169936 . Dado que este valor tiene una letra, se considera una cadena incluso si contiene muchos números.

Recuerde que al usar un valor de cadena , debemos encerrarlo entre comillas simples. Sin las comillas simples, aparecerá una línea roja que indica que hay un error.

Entonces, el resultado nos dará solo una fila, lo que significa que solo hay un dato con el número de orden de compra que hemos configurado.

Cláusula WHERE con operador AND y orden por palabra clave
Tengamos otro filtro donde queremos seleccionar registros con ciertas fechas de pedido. Para este ejemplo, queremos seleccionar solo los registros donde la fecha del pedido es mayor o igual a ' 2014-01-01 ' y menor o igual a ' 2014-03-31 '.

También podemos usar la palabra clave Ordenar por aquí. Para este ejemplo, queremos que se ordene por OrderDate en orden descendente.

Los resultados solo deberían mostrar los registros que cumplieron las dos condiciones que hemos establecido.

También podemos recrear esa consulta usando el operador BETWEEN . El operador BETWEEN selecciona un valor dentro de un rango dado. Entonces, nos dará los mismos resultados si lo hacemos de esta manera.

Cláusula WHERE con operador OR para condiciones múltiples
En este ejemplo, tenemos múltiples condiciones usando el operador OR . Queremos seleccionar las filas con 5, 6 o 7 como ID de territorio.

Los resultados deberían mostrar todos los registros que cumplieron cualquiera de las condiciones que hemos establecido. Para este ejemplo, devolvió 7225 filas.

Uso de funciones con la cláusula WHERE
También podemos usar funciones con la cláusula WHERE . Por ejemplo, en lugar de ingresar manualmente el valor de fecha de la columna OrderDate , podemos usar la función AÑO para obtener automáticamente todos los registros con una fecha de pedido del año 2014.

El resultado nos dio 11.761 filas que son los récords de 2014.

SQL para usuarios de LuckyTemplates: nueva
consulta del curso LuckyTemplates Plegado y conexión a SQL Server
Conclusión
Para resumir, hemos aprendido a usar la cláusula WHERE en la instrucción SELECT . Nuevamente, también podemos usarlo en UPDATE , DELETE y otras declaraciones SQL . También aprendimos cómo usarlo para crear múltiples condiciones usando los operadores AND y OR .
Además, aprendimos el uso del operador BETWEEN para seleccionar entre un rango de valores. También podemos usar la cláusula WHERE con una función como la función AÑO . Usar la cláusula WHERE es muy importante para filtrar algunos registros que queremos tener. Es necesario reducir los registros que devuelve una consulta para filtrar los datos innecesarios que no necesitamos.
Mis mejores deseos,
Hafiz