Contenido de esta guía
Qué hace FROM
FROM construye la fuente de datos de una consulta. La forma más sencilla nombra una tabla, pero también puede utilizar una vista, una subconsulta, una expresión de tabla común o varias fuentes relacionadas mediante JOIN.
El resultado de FROM es una tabla intermedia. Después, WHERE puede filtrar sus filas y SELECT decide qué columnas se muestran.
Sintaxis básica y alias
SELECT alias.columna
FROM nombre_tabla AS alias;El alias acorta nombres y permite distinguir columnas cuando intervienen varias tablas. Una vez asignado, utiliza el alias de forma coherente dentro de esa consulta.
Fuentes que puede aportar FROM
- Tabla base: datos almacenados, como
clientes. - Vista: una consulta guardada que se utiliza como fuente.
- Subconsulta: un resultado entre paréntesis con alias.
- JOIN: una fuente construida relacionando tablas.
- CTE: un resultado con nombre definido mediante
WITH.
No necesitas dominar todas estas formas al empezar. Lo esencial es reconocer que FROM no “muestra” columnas: prepara las filas disponibles.
Ejemplo guiado: clientes activos
SELECT c.nombre,
c.ciudad,
c.fecha_registro
FROM clientes AS c
WHERE c.activo = 1
ORDER BY c.fecha_registro, c.id
LIMIT 4;| nombre | ciudad | fecha_registro |
|---|---|---|
| Ana Torres | Madrid | 2025-01-08 |
| Luis Martín | Valencia | 2025-01-12 |
| Marta Ruiz | Madrid | 2025-02-01 |
| Diego López | Bilbao | 2025-02-14 |
clientes AS c define la fuente y su alias. Las referencias c.nombre y c.activo dejan claro de dónde procede cada columna.
Calificar columnas no siempre es obligatorio, pero sí útil. En una consulta con una sola tabla, nombre puede bastar. En consultas con varias tablas, escribir c.nombre evita ambigüedad y mejora la lectura.
Error frecuente: mezclar alias y nombre original
SELECT clientes.nombre
FROM clientes AS c;En muchos motores, después de asignar c debes referirte a la fuente mediante ese alias: SELECT c.nombre FROM clientes AS c.
Práctica: pedidos pendientes
Consulta una fuente con un nombre corto
Usa p como alias de pedidos. Devuelve id, fecha y total de los pedidos pendientes, ordenados por fecha, y limita el resultado a tres.
FROM pedidos AS p.p.id y p.fecha.p.estado = 'pendiente'.Solución razonada
SELECT p.id,
p.fecha,
p.total
FROM pedidos AS p
WHERE p.estado = 'pendiente'
ORDER BY p.fecha, p.id
LIMIT 3;Las primeras filas son los pedidos 102, 105 y 109. El alias no cambia la tabla: solo crea un nombre válido durante esta sentencia.
Compatibilidad entre motores
FROM y los alias de tabla son ampliamente compatibles. La palabra AS puede omitirse para alias de tabla en muchos motores, pero escribirla mejora la claridad. Las fuentes especiales —funciones que devuelven tablas, tablas laterales o sintaxis propia— sí dependen del motor.
Qué debes recordar
FROMprepara las filas disponibles.- Puede partir de tablas, vistas y resultados de otras consultas.
- Los alias acortan nombres y evitan ambigüedades.
- Después de crear un alias, úsalo de forma coherente.