Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Cláusula WHERE de MySQL

La cláusula `WHERE` en MySQL se utiliza para filtrar registros en una sentencia SQL, permitiéndote especificar condiciones que deben cumplirse. Se suele utilizar para limitar los resultados de las consultas, haciendo que la recuperación de datos sea más eficaz y específica.

Utilización

La cláusula `WHERE` se aplica para filtrar registros basándose en condiciones especificadas dentro de comandos SQL como `SELECT`, `UPDATE` y `DELETE`. Sigue a la cláusula `FROM` y precede a otras cláusulas como `GROUP BY` u `ORDER BY`.

sql
SELECT column1, column2, ...
FROM table_name
WHERE condition;

En esta sintaxis, la "condición DONDE" especifica los criterios que debe cumplir cada fila para ser incluida en el conjunto de resultados.

Ejemplos

1. Filtro básico

sql
SELECT *
FROM customers
WHERE city = 'New York';

Esta consulta recupera todas las columnas de la tabla `clientes` en las que la `ciudad` es `Nueva York`.

2. Selección condicional con operadores

sql
SELECT first_name, last_name
FROM employees
WHERE salary > 50000;

Este ejemplo selecciona el `nombre_apellido` y el `apellido_nombre` de los empleados cuyo salario es superior a 50.000, demostrando el uso de los operadores de comparación.

3. Condiciones múltiples con Y/O

sql
SELECT order_id, order_date
FROM orders
WHERE status = 'Shipped' AND order_date >= '2023-01-01';

Aquí, la consulta recupera `order_id` y `order_date` de la tabla `orders`, filtrando los pedidos enviados y realizados a partir del 1 de enero de 2023.

4. Coincidencia de patrones con LIKE

sql
SELECT product_name
FROM products
WHERE product_name LIKE 'A%';

Esta consulta selecciona `nombre_producto` de la tabla `productos` cuando el nombre empieza por `A`, utilizando el operador `LIKE` para la coincidencia de patrones.

5. Manejo de valores nulos

sql
SELECT first_name, last_name
FROM employees
WHERE department IS NULL;

Este ejemplo recupera `nombre_nombre` y `apellido_nombre` de empleados que no pertenecen a ningún departamento, demostrando el uso de `IS NULL` para manejar valores NULL.

Consejos y buenas prácticas

  • Indexa las columnas relevantes. Asegúrate de que las columnas utilizadas en las condiciones "DONDE" están indexadas para mejorar el rendimiento de la consulta.
  • Ten en cuenta los valores NULL. Utiliza `IS NULL` o `IS NOT NULL` para manejar eficazmente los valores NULL en tus condiciones.
  • Utiliza paréntesis para mayor claridad. Cuando combines varias condiciones con `AND`/`OR`, utiliza paréntesis para garantizar el orden de evaluación correcto.
  • Limitar el uso de comodines. Evita utilizar comodines como `%` al principio de una cláusula `LIKE` a menos que sea necesario, ya que puede ralentizar el rendimiento de la consulta.
  • Optimiza el orden de las condiciones. Pon primero las condiciones más restrictivas para reducir el número de registros evaluados. Esto puede mejorar el rendimiento de la consulta al eliminar rápidamente las filas no coincidentes.
  • Considera la configuración de la intercalación. Ten en cuenta cómo la configuración de la intercalación puede afectar a las comparaciones de texto, lo que puede dar lugar a resultados inesperados en algunos casos.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis