# SELECT ```SQL /* Ejemplo de uso SELECT */ SELECT s.nombres AS nombre_socio, s.apellidos AS apellido_socio, i.nombre AS nombre_instalacion, r.fecha_reserva, r.hora_inicio, r.hora_fin, e.nombre AS estado_reserva ``` # FROM ```SQL /* Ejemplo de uso FROM */ FROM reserva AS r ``` # JOIN ```SQL /* Ejemplo de uso JOIN */ JOIN socio AS s ON r.idSocio = s.idSocio JOIN instalacion AS i ON r.idInstalacion = i.idInstalacion ``` # WHERE ```SQL /* Ejemplo de uso Where */ WHERE r.fecha_reserva >= '2025-09-30' ``` # GROUP ```SQL /* Ejemplo de uso Group */ GROUP BY s.idSocio, s.nombres, s.apellidos ``` # HAVING ```SQL /* Ejemplo de uso Having */ HAVING COUNT(f.idFamiliar) > 5 ``` # ORDER ```SQL /* Ejemplo de uso ORDER */ ORDER BY r.fecha_reserva ASC, s.nombres ASC; ``` # ALIAS (AS) ## 🧭 Uso de _alias_ > Un **alias** es un nombre corto o alternativo** para una tabla o una columna.** ## 🔸 Alias de tabla Se definen después del nombre de la tabla: `FROM socio AS s JOIN reserva AS r ON r.idSocio = s.idSocio` Ahora puedes referirte a las columnas como `s.nombres`, `r.fecha_reserva`, etc. **Ventajas:** - Evita ambigüedades si varias tablas tienen columnas con el mismo nombre (`id`, `nombre`, etc.). - Hace el código más corto y legible. - Permite escribir condiciones complejas de forma clara. 👉 En MySQL, el `AS` es opcional: `FROM socio s JOIN reserva r ON r.idSocio = s.idSocio` es equivalente. ## 🔸 Alias de columna Sirven para **renombrar una columna en el resultado** (para presentación o claridad). `SELECT s.nombres AS nombre_socio, s.apellidos AS apellido_socio, COUNT(f.idFamiliar) AS total_familiares` **Ventajas:** - Mejora la legibilidad del resultado. - Útil cuando se usan funciones (`COUNT`, `SUM`) o nombres de columna largos. **Nota:** Los alias de columna **solo existen en el resultado final**, no dentro del `WHERE` o `GROUP BY`. # EjemploConsulta ```SQL /* Ejemplo de Consulta completa Marce */ SELECT s.nombres AS nombre_socio, s.apellidos AS apellido_socio, i.nombre AS nombre_instalacion, r.fecha_reserva, r.hora_inicio, r.hora_fin, e.nombre AS estado_reserva FROM reserva AS r JOIN socio AS s ON r.idSocio = s.idSocio JOIN instalacion AS i ON r.idInstalacion = i.idInstalacion JOIN estadoreserva AS e ON r.idEstadoReserva = e.idEstadoReserva WHERE r.fecha_reserva >= '2025-09-30' ORDER BY r.fecha_reserva, r.hora_inicio, i.nombre, s.nombres; ```