SQL WHERE Clause: Filtra y selecciona datos con precisión

SQL WHERE Clause: Filtra y selecciona datos con precisión

La cláusula WHERE en SQL es una herramienta fundamental para controlar y refinar los resultados de tus consultas. Te permite especificar las condiciones que deben cumplir los registros para ser incluidos en el conjunto de resultados, lo que te da un control preciso sobre los datos que se recuperan.

En esencia, la cláusula WHERE actúa como un filtro, seleccionando solo los registros que cumplen con los criterios establecidos. Esta capacidad es crucial para obtener información específica de tu base de datos, evitando la recuperación de datos irrelevantes.

La Sintaxis Básica de WHERE

La sintaxis básica de la cláusula WHERE es simple y directa:

sql
DML_Statement column1, column2,... columnN FROM table_name WHERE [condition];

Donde:

  • DML_Statement: Representa la instrucción DML (Data Manipulation Language) que se va a ejecutar, como SELECT, UPDATE, o DELETE.
  • column1, column2,… columnN: Especifica las columnas que se van a recuperar o modificar.
  • table_name: Es el nombre de la tabla de la que se extraerán los datos.
  • [condition]: Es la condición que define qué registros se incluirán en los resultados.

Operadores de Comparación en WHERE

Para definir la condición en la cláusula WHERE, se utilizan operadores de comparación. Estos operadores permiten comparar valores de columnas con valores específicos o con otros valores. Algunos operadores de comparación comunes son:

  • = (Igual a): Comprueba si un valor es igual a otro.
  • > (Mayor que): Comprueba si un valor es mayor que otro.
  • < (Menor que): Comprueba si un valor es menor que otro.
  • >= (Mayor o igual que): Comprueba si un valor es mayor o igual que otro.
  • <= (Menor o igual que): Comprueba si un valor es menor o igual que otro.
  • <> o != (Diferente de): Comprueba si un valor es diferente de otro.
  • LIKE: Permite la búsqueda de patrones en cadenas de texto.
  • NOT: Invierte el resultado de una condición.
LEER:  JavaBeans: Guía Completa para Principiantes - Desarrollo con JavaBean

Ejemplos Prácticos de WHERE

Para ilustrar el uso de la cláusula WHERE, vamos a trabajar con una tabla llamada CUSTOMERS, que almacena información de clientes:

| ID | Nombre | Apellido | Ciudad | País |
|—|—|—|—|—|
| 1 | Juan | Pérez | Madrid | España |
| 2 | Ana | García | Barcelona | España |
| 3 | Pedro | Rodríguez | Londres | Reino Unido |
| 4 | María | López | París | Francia |
| 5 | Carlos | González | Roma | Italia |

1. Recuperar clientes de una ciudad específica:

sql
SELECT * FROM CUSTOMERS WHERE Ciudad = 'Madrid';

Este ejemplo recupera todos los clientes que viven en Madrid.

2. Recuperar clientes de un país específico:

sql
SELECT * FROM CUSTOMERS WHERE País = 'España';

Este ejemplo recupera todos los clientes que viven en España.

3. Recuperar clientes cuyo nombre comience con «J»:

sql
SELECT * FROM CUSTOMERS WHERE Nombre LIKE 'J%';

Este ejemplo utiliza el operador LIKE con un patrón para encontrar clientes cuyo nombre comienza con «J».

4. Recuperar clientes que no sean de España:

sql
SELECT * FROM CUSTOMERS WHERE País <> 'España';

Este ejemplo utiliza el operador <> (o !=) para encontrar clientes que no son de España.

Combinando Condiciones con AND y OR

Puedes combinar varias condiciones en la cláusula WHERE utilizando los operadores lógicos AND y OR.

  • AND: Devuelve TRUE si ambas condiciones son TRUE.
  • OR: Devuelve TRUE si al menos una de las condiciones es TRUE.

5. Recuperar clientes de Madrid o Barcelona:

sql
SELECT * FROM CUSTOMERS WHERE Ciudad = 'Madrid' OR Ciudad = 'Barcelona';

6. Recuperar clientes de España cuyo nombre empiece con «M»:

sql
SELECT * FROM CUSTOMERS WHERE País = 'España' AND Nombre LIKE 'M%';

Uso de WHERE en UPDATE y DELETE

La cláusula WHERE no se limita a las consultas SELECT. También se puede utilizar en las instrucciones UPDATE y DELETE para modificar o eliminar registros específicos.

LEER:  Select Distinct SQL: Elimina Duplicados y Optimiza Tus Consultas

7. Actualizar el país de un cliente:

sql
UPDATE CUSTOMERS SET País = 'Italia' WHERE ID = 3;

Este ejemplo actualiza el país del cliente con ID 3 a «Italia».

8. Eliminar un cliente:

sql
DELETE FROM CUSTOMERS WHERE ID = 1;

Este ejemplo elimina el cliente con ID 1 de la tabla CUSTOMERS.

La cláusula WHERE IN

La cláusula WHERE IN te permite verificar si un valor de columna coincide con uno de los valores especificados en una lista.

9. Recuperar clientes de Madrid, Barcelona o Londres:

sql
SELECT * FROM CUSTOMERS WHERE Ciudad IN ('Madrid', 'Barcelona', 'Londres');

La cláusula WHERE NOT IN

La cláusula WHERE NOT IN te permite verificar si un valor de columna no coincide con ninguno de los valores especificados en una lista.

10. Recuperar clientes que no sean de España, Francia o Italia:

sql
SELECT * FROM CUSTOMERS WHERE País NOT IN ('España', 'Francia', 'Italia');

Conclusión

La cláusula WHERE en SQL es una herramienta poderosa y esencial para filtrar y seleccionar datos de forma eficiente. Su sintaxis simple y la gran variedad de operadores de comparación te permiten crear consultas precisas que te ayuden a obtener la información que necesitas de tu base de datos. Asegúrate de dominar el uso de WHERE para aprovechar al máximo las capacidades de SQL.