Funciones YEAR, WHERE y LIKE en MySQL SELECT
Clase 15 de 24 • Curso de SQL y MySQL 2018
Contenido del curso
CREATE
INSERT
Bash y archivos SQL
SELECT
Consultas en MySQL
Contenido Bonus
Extraer valor de una base de datos exige dominar SELECT. Con esta sentencia en MySQL obtienes exactamente lo que necesitas: desde todas las columnas hasta combinaciones calculadas, aplicando condiciones, funciones y límites para convertir datos en decisiones rápidas.
SELECT en MySQL: filtra, limita y transforma datos con eficiencia
¿Cómo usar SELECT en MySQL para extraer datos clave?
Elegir bien qué columnas traer evita ruido y acelera resultados. Con SELECT puedes pedir todo con un asterisco o especificar solo lo necesario. Además, LIMIT al final del query te permite una vista rápida y controlada de los datos.
- Usa SELECT * para una inspección general rápida.
- Selecciona columnas puntuales para claridad: name, email, gender.
- Aplica LIMIT al final para traer un subconjunto. Evita el desorden.
- Combina con DESC clients para ver la estructura física de la tabla.
Ejemplos:
-- Todas las columnas.
SELECT * FROM clients;
-- Una y varias columnas.
SELECT name FROM clients;
SELECT name, email, gender FROM clients;
-- Límite de filas.
SELECT name, email, gender FROM clients LIMIT 10;
Datos relevantes: la tabla tiene alrededor de cien tuplas y las respuestas fueron prácticamente en cero segundos, lo que ilustra la eficiencia de MySQL con queries bien planteados.
¿Qué condiciones y filtros optimizan tus consultas?
La cláusula WHERE concentra las condiciones. Con operadores de igualdad, LIKE y AND puedes refinar resultados sin traer datos innecesarios. LIKE utiliza el wildcard % para coincidencias parciales de texto.
- WHERE filtra por género: 'M' o 'F'.
- LIKE encuentra cadenas parciales: '%texto%'.
- AND combina condiciones para mayor precisión.
- Resultados observados: 48 hombres al filtrar gender = 'M'.
Ejemplos:
-- Filtro por género.
SELECT * FROM clients WHERE gender = 'M';
SELECT * FROM clients WHERE gender = 'F';
-- Búsqueda textual con LIKE.
SELECT * FROM clients WHERE name LIKE '%Saave%';
-- Varias columnas con filtros combinados.
SELECT name, email, gender
FROM clients
WHERE gender = 'F' AND name LIKE '%Lop%';
Hallazgos prácticos: el filtro por 'Lop' en nombres femeninos devolvió dos clientas (por ejemplo, Juana María López y Carmen López), validando la utilidad de LIKE para búsquedas flexibles.
¿Qué funciones y trucos aceleran el análisis?
Las funciones integradas multiplican el poder de SELECT. YEAR y NOW permiten trabajar con fechas; con AS renombras columnas para una lectura clara. Además, usar LIMIT como vista previa ayuda a inspeccionar formatos (mayúsculas, espacios, URLs largas) antes de procesar masivamente.
- YEAR(fecha) extrae el año de un campo DATE.
- NOW() devuelve fecha y hora actuales del sistema.
- Cálculo de edad aproximada: YEAR(NOW()) - YEAR(birthdate). "No necesariamente correcto", pero útil como estimación.
- AS crea un alias legible para los resultados.
- Truco de productividad: flecha hacia arriba para recuperar el último query en consola.
Ejemplos:
-- Inspección de fechas y extracción de año.
SELECT birthdate FROM clients;
SELECT YEAR(birthdate) FROM clients;
-- Año actual.
SELECT YEAR(NOW());
-- Nombre + edad aproximada, con alias y límite de muestra.
SELECT name, YEAR(NOW()) - YEAR(birthdate) AS edad
FROM clients
LIMIT 10;
Ideas clave para escalar: diseñar SELECT como "tablas dinámicas" te permite combinar columnas existentes con columnas calculadas solo para la consulta. Con millones de usuarios, la eficiencia depende de dos frentes complementarios: una base bien diseñada con índices lógicos y queries puntuales que eviten trabajo exhaustivo. Así obtienes respuestas en milisegundos incluso con grandes volúmenes.
¿Te gustaría ver más patrones de filtrado y funciones para enriquecer tus SELECT en MySQL? Comparte tus dudas o casos de uso y los resolvemos juntos.