¿Ya dominas lo básico? Un curso estructurado de SQL es la vía rápida para dar el salto.
Ver cursos de SQL en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Fundamentos de la sentencia SELECT
- 03Filtrar filas con WHERE
- 04Ordenar resultados con ORDER BY
- 05Combinar tablas con JOIN
- 06Agregar datos con GROUP BY
- 07Búsqueda aproximada con LIKE
- 08Modificar datos con INSERT, UPDATE y DELETE
- 09Introducción a las subconsultas
- 10Crear una VIEW
- 11Clasificar filas con funciones de ventana
- 12Entender las transacciones
- 13Escribir comentarios en SQL
- 14Operadores lógicos: AND, OR y NOT
- 15Trabajar con valores NULL
- 16INNER JOIN frente a LEFT JOIN
- 17Filtrar agregados con HAVING
- 18Eliminar duplicados con DISTINCT
- 19Combinar resultados con UNION
- 20Valores condicionales con CASE
- 21Comprobar existencia con EXISTS
- 22Cambiar la estructura de una tabla con ALTER TABLE
- 23Auto-uniones (self join)
- 24Acelerar búsquedas con INDEX
- 25GROUP BY con varias columnas
- 26Paginación con LIMIT y OFFSET
- 27Coincidencia de patrones con GLOB
- 28Cálculos con fechas usando date()
- 29Unir tres tablas
- 30Comparar con varios valores usando IN
- 31Tablas derivadas: subconsultas en el FROM
- 32Fundamentos de TRIGGER
- 33Consultas legibles con WITH (CTE)
- 34UPSERT: insertar o actualizar en una sola sentencia
- 35Combinar MIN, MAX y AVG
- 36Restringir la entrada con restricciones CHECK
- 37Numeración automática con AUTOINCREMENT
- 38Inspeccionar el plan con EXPLAIN QUERY PLAN
- 39ORDER BY con varias columnas
- 40Agregación condicional con CASE
- 41Eliminar objetos con DROP TABLE y DROP VIEW
- 42Combinar varias CTE
- 43Búsqueda por rango de fechas con BETWEEN
- 44Encontrar lo que falta con NOT EXISTS
- 45Sustituir NULL con COALESCE
- 46Funciones de texto: UPPER, LENGTH y SUBSTR
- 47Convertir tipos con CAST
- 48Unir valores agrupados con GROUP_CONCAT
- 49Garantizar la integridad con FOREIGN KEY
- 50[Aplicado] Construye un mini sistema de biblioteca
Unir valores agrupados con GROUP_CONCAT
En esta lección juntarás en una sola celda todos los valores de un grupo, separados por comas.
GROUP_CONCAT(columna) es una función de agregación como COUNT o SUM, pero en lugar de calcular un número concatena los textos del grupo. Con un segundo argumento se elige el separador: GROUP_CONCAT(name, ' / ').
El código de ejemplo muestra, para cada clase, la lista de sus integrantes en una única casilla. Es una forma muy compacta de resumir una relación de uno a muchos.
Hay dos límites que conviene conocer. El orden de los valores concatenados no está garantizado salvo que lo fuerces, y en textos muy largos el resultado puede truncarse. Además el nombre de la función cambia según la base de datos: es STRING_AGG en PostgreSQL y en SQL Server.
Va muy bien para informes legibles — «etiquetas de cada artículo», «asignaturas de cada alumno» — pero no para intercambiar datos: una celda con valores concatenados es incómoda de procesar después. Cuando el resultado alimenta a otro programa, es preferible devolver una fila por valor.
💡 El motor de SQL puede tardar unos segundos en cargarse la primera vez que ejecutas código.
