Aprende SQL · lección gratuita
SELECT es la sentencia con la que lees datos de una base de datos relacional: indica qué columnas quieres, mientras que FROM indica de dónde salen (la tabla). Es la sentencia que más usarás y la base sobre la que se construye todo el resto del lenguaje. En este curso trabajamos sobre la base de datos de Nexus, una empresa de tecnología B2B, con tablas como empleados, clientes, productos y pedidos.
SELECT: lista de columnas a devolver, separadas por comas (SELECT nombre, salario).FROM: la tabla de la que se leen las filas (FROM empleados).: comodín que devuelve todas* las columnas de la tabla, en el orden en que se definieron.SELECT no solo proyecta columnas; puede devolver constantes (SELECT 1) o cálculos (SELECT precio * 1.18).SELECT, no el de la tabla.; termina la sentencia. Es buena práctica cerrar siempre cada consulta con punto y coma.La forma mínima de una consulta es SELECT <columnas> FROM <tabla>;. SQL es declarativo: describes el resultado que quieres, no los pasos para obtenerlo; el motor decide cómo ejecutarlo.
Conviene entender desde ya el orden lógico de ejecución, porque difiere del orden en que se escribe. Aunque escribimos SELECT primero, el motor resuelve antes el FROM (qué tabla) y solo al final la proyección del SELECT (qué columnas mostrar). Este detalle, irrelevante aquí, será clave cuando aparezcan WHERE, GROUP BY y los alias.
SQL no distingue mayúsculas en las palabras clave: select y SELECT son equivalentes. Por convención, las palabras clave se escriben en MAYÚSCULAS y los nombres de tablas/columnas en minúsculas. Los nombres de columnas y tablas sí deben coincidir exactamente con los definidos en el esquema.
Error típico de principiante: confundir el comodín * (todas las columnas) con seleccionar columnas concretas. En producción casi siempre se nombran las columnas: pedir solo lo necesario reduce datos transferidos y deja claro de qué depende tu código.
SELECT nombre, cargo, salario FROM empleados LIMIT 6
-- Proyectar columnas concretas: nombre, cargo y salario de cada empleado
SELECT nombre, cargo, salario
FROM empleados;
-- Todas las columnas de la tabla productos (útil para explorar el esquema)
SELECT * FROM productos;
-- El orden del resultado es el del SELECT, no el de la tabla
SELECT cargo, nombre FROM empleados;
-- SELECT también evalúa expresiones y constantes (sin tocar ninguna tabla)
SELECT 'Hola SQL' AS saludo, 7 * 6 AS respuesta;
💡 **Evita SELECT en código de producción.* Es perfecto para explorar una tabla nueva, pero en una aplicación real nombra siempre las columnas: si alguien añade una columna pesada a la tabla, tu consulta no la arrastrará sin querer, y el lector entiende de un vistazo qué datos usas.
| Cláusula / Sintaxis | Qué hace |
|---|---|
SELECT col1, col2 | Devuelve solo esas columnas, en ese orden |
SELECT * | Devuelve todas las columnas de la tabla |
FROM tabla | Indica la tabla de origen de las filas |
SELECT expr AS alias | Devuelve el resultado de una expresión o literal |
; | Termina la sentencia SQL |
---