SQL PARA PRINCIPIANTES · POSTGRESQL

Ejercicios SQL SELECT resueltos

Cinco prácticas cortas para aprender a consultar datos, pensadas para estudiantes y docentes de secundaria.

Todos los datos son ficticios. Podés intentar cada consigna antes de leer su solución; no necesitás una cuenta ni ejecutar JavaScript para consultar esta guía.

¿Para qué sirve SELECT?

SELECT permite consultar datos sin modificar los registros guardados. Escribís qué columnas querés ver y, con FROM, de qué tabla salen.

SELECT columna_1, columna_2 FROM tabla;

Estos ejemplos usan PostgreSQL básico. Las columnas TEXT contienen texto y las INTEGER, números enteros. El punto y coma cierra cada consulta.

Importante: sin ORDER BY, PostgreSQL no garantiza el orden de las filas. Los resultados de abajo muestran los valores esperados, no un orden obligatorio. No confundas el orden de las columnas con el de las filas.

1. Consultar una tabla completa

Consigna: La biblioteca quiere revisar su pequeño catálogo. Mostrá todas las columnas y todas las filas de libros.

Esquema de libros: id INTEGER, titulo TEXT, ejemplares INTEGER.

Tabla libros · datos ficticios
idtituloejemplares
1El mapa del patio3
2Viaje al río5

Solución explicada

SELECT * FROM libros;

El asterisco (*) selecciona todas las columnas. FROM libros indica qué tabla consultar. No se aplica ningún filtro: aparecen ambos libros.

Resultado esperado · orden de filas no garantizado
idtituloejemplares
1El mapa del patio3
2Viaje al río5

2. Elegir columnas y su posición

Consigna: Para armar los carteles de los talleres, mostrá primero aula y después nombre, sin incluir el cupo.

Esquema de talleres: nombre TEXT, aula TEXT, cupo INTEGER.

Tabla talleres · datos ficticios
nombreaulacupo
Radio escolarA212
HuertaPatio16

Solución explicada

SELECT aula, nombre FROM talleres;

Las columnas se separan con comas y se muestran en el orden escrito en SELECT, aunque la tabla tenga otro orden de columnas. Omitir cupo no lo borra: solo lo deja fuera del resultado.

Resultado esperado · orden de filas no garantizado
aulanombre
A2Radio escolar
PatioHuerta

3. Poner un alias a una columna

Consigna: La cooperativa necesita un listado con articulo y precio. Mostrá precio con el encabezado precio_unitario.

Esquema de cooperativa: articulo TEXT, precio INTEGER.

Tabla cooperativa · datos ficticios
articuloprecio
Cuaderno1500
Lápiz300

Solución explicada

SELECT articulo, precio AS precio_unitario
FROM cooperativa;

AS asigna un alias al encabezado del resultado. La columna original sigue llamándose precio: el alias no cambia el esquema ni los datos guardados.

Resultado esperado · orden de filas no garantizado
articuloprecio_unitario
Cuaderno1500
Lápiz300

4. Calcular sin modificar los datos

Consigna: Se planea agregar dos plantas a cada cantero. Mostrá cultivo y la cantidad prevista con el alias plantas_previstas, sin actualizar la tabla.

Esquema de canteros: cultivo TEXT, plantas INTEGER.

Tabla canteros · datos ficticios
cultivoplantas
Lechuga8
Tomate4

Solución explicada

SELECT cultivo, plantas + 2 AS plantas_previstas
FROM canteros;

La expresión plantas + 2 se evalúa para cada fila: 8 + 2 da 10 y 4 + 2 da 6. SELECT calcula una columna de salida; no realiza un UPDATE ni guarda estas cantidades.

Resultado esperado · orden de filas no garantizado
cultivoplantas_previstas
Lechuga10
Tomate6

5. Obtener valores sin repetir

Consigna: El club quiere saber qué disciplinas ofrece, sin repetirlas por cada equipo. Mostrá únicamente las disciplinas distintas.

Esquema de equipos: equipo TEXT, disciplina TEXT.

Tabla equipos · datos ficticios
equipodisciplina
AzulVóley
VerdeAjedrez
NaranjaVóley

Solución explicada

SELECT DISTINCT disciplina FROM equipos;

DISTINCT elimina filas duplicadas del resultado. Como solo seleccionamos disciplina, Vóley aparece una vez. Si también seleccionáramos equipo, las tres combinaciones serían distintas y no se reducirían a dos filas.

Resultado esperado · orden de filas no garantizado
disciplina
Vóley
Ajedrez

Llevá SELECT al aula

Para una primera clase, pedí que anticipen las columnas y la cantidad de filas antes de ver cada solución. Después comparen qué cambia al quitar el alias o DISTINCT.

En el generador gratuito podés elegir SELECT, nivel básico o intermedio, y 1, 2 o 5 ejercicios. Obtené una actividad con soluciones separadas y descargá cada versión en PDF o imprimila.

Crear una actividad SQL gratuita →

¿Ya sabés elegir columnas? Seguí con los ejercicios SQL WHERE resueltos para aprender a filtrar filas.

Para controlar el orden de las filas, practicá con los ejercicios SQL ORDER BY resueltos.