En este tema, aprenderemos a utilizar la cláusula WHERE
en SQL para filtrar datos de una tabla. La cláusula WHERE
es fundamental para extraer solo las filas que cumplen con ciertas condiciones, lo que nos permite trabajar con conjuntos de datos más específicos y relevantes.
Conceptos Clave
- Cláusula
WHERE
: Se utiliza para especificar una condición mientras se recuperan datos de una tabla. - Operadores de comparación: Incluyen
=
,!=
,<
,>
,<=
,>=
. - Operadores lógicos: Incluyen
AND
,OR
,NOT
. - Condiciones múltiples: Combinación de varias condiciones usando operadores lógicos.
Sintaxis Básica
La sintaxis básica de la cláusula WHERE
es la siguiente:
Ejemplos Prácticos
Ejemplo 1: Filtrar por una condición simple
Supongamos que tenemos una tabla llamada employees
con las siguientes columnas: id
, name
, age
, department
, y salary
.
Este comando selecciona los nombres y edades de todos los empleados que tienen más de 30 años.
Ejemplo 2: Usar operadores de comparación
Este comando selecciona los nombres y salarios de todos los empleados que ganan 50,000 o más.
Ejemplo 3: Filtrar con múltiples condiciones usando AND
Este comando selecciona los nombres y departamentos de todos los empleados que trabajan en el departamento de ventas y tienen menos de 40 años.
Ejemplo 4: Filtrar con múltiples condiciones usando OR
Este comando selecciona los nombres y departamentos de todos los empleados que trabajan en los departamentos de ventas o marketing.
Ejemplo 5: Usar NOT
para negar una condición
Este comando selecciona los nombres y edades de todos los empleados que no tienen 25 años.
Ejercicios Prácticos
Ejercicio 1
Dada la tabla products
con las columnas product_id
, product_name
, category
, y price
, escribe una consulta para seleccionar todos los productos cuyo precio sea mayor a 100.
Solución
Ejercicio 2
Dada la tabla orders
con las columnas order_id
, customer_id
, order_date
, y total_amount
, escribe una consulta para seleccionar todas las órdenes realizadas en el año 2022.
Solución
SELECT order_id, customer_id, order_date, total_amount FROM orders WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31';
Ejercicio 3
Dada la tabla employees
, escribe una consulta para seleccionar todos los empleados que trabajan en el departamento de 'HR' o 'Finance' y tienen un salario mayor a 60,000.
Solución
SELECT name, department, salary FROM employees WHERE (department = 'HR' OR department = 'Finance') AND salary > 60000;
Errores Comunes y Consejos
- Olvidar las comillas simples para valores de texto: Al filtrar por valores de texto, asegúrate de usar comillas simples (
'
) alrededor del valor. - Confundir
AND
yOR
: Recuerda queAND
requiere que ambas condiciones sean verdaderas, mientras queOR
requiere que al menos una condición sea verdadera. - Uso incorrecto de paréntesis: Cuando combinas múltiples condiciones, usa paréntesis para asegurarte de que las condiciones se evalúen en el orden correcto.
Conclusión
La cláusula WHERE
es una herramienta poderosa en SQL que te permite filtrar datos de manera efectiva. Al dominar el uso de operadores de comparación y lógicos, puedes crear consultas precisas y eficientes para extraer exactamente los datos que necesitas. En el próximo tema, aprenderemos a ordenar los datos utilizando la cláusula ORDER BY
.
Curso de SQL
Módulo 1: Introducción a SQL
Módulo 2: Consultas básicas de SQL
- Instrucción SELECT
- Filtrando datos con WHERE
- Ordenando datos con ORDER BY
- Limitando resultados con LIMIT
Módulo 3: Trabajando con múltiples tablas
Módulo 4: Filtrado avanzado de datos
- Usando LIKE para coincidencia de patrones
- Operadores IN y BETWEEN
- Valores NULL y IS NULL
- Agregando datos con GROUP BY
- Cláusula HAVING
Módulo 5: Manipulación de datos
Módulo 6: Funciones avanzadas de SQL
Módulo 7: Subconsultas y consultas anidadas
- Introducción a subconsultas
- Subconsultas correlacionadas
- EXISTS y NOT EXISTS
- Usando subconsultas en cláusulas SELECT, FROM y WHERE
Módulo 8: Índices y optimización de rendimiento
- Entendiendo los índices
- Creación y gestión de índices
- Técnicas de optimización de consultas
- Análisis del rendimiento de consultas
Módulo 9: Transacciones y concurrencia
- Introducción a las transacciones
- Propiedades ACID
- Instrucciones de control de transacciones
- Manejo de concurrencia