Hasta ahora hemos aprendido a crear bases de datos, esquemas, tablas e insertar información. El siguiente paso es aprender a consultar los datos almacenados.
Para ello utilizaremos una de las instrucciones más importantes de SQL:
SELECT
Prácticamente cualquier aplicación que utilice una base de datos ejecuta consultas SELECT para recuperar información.
🧠 ¿Qué es SELECT?
La instrucción SELECT permite leer datos de una o varias tablas.
Sintaxis básica:
SELECT columnas
FROM tabla;
Por ejemplo:
SELECT nombre
FROM empleados;
Esta consulta devolverá únicamente la columna nombre.
🏗️ Crear una tabla de ejemplo
Para entender mejor las consultas, primero crearemos una tabla sencilla.
CREATE TABLE empleados (
id INTEGER,
nombre VARCHAR(100),
departamento VARCHAR(100),
salario NUMERIC(10,2),
activo BOOLEAN,
fecha_ingreso DATE
);
📝 Insertar datos de prueba
Ahora agregaremos algunos registros.
INSERT INTO empleados (
id,
nombre,
departamento,
salario,
activo,
fecha_ingreso
)
VALUES
(
1,
'Juan Pérez',
'Tecnología',
25000.00,
TRUE,
'2026-01-15'
),
(
2,
'Ana López',
'Finanzas',
32000.00,
TRUE,
'2026-02-01'
),
(
3,
'Carlos García',
'Recursos Humanos',
28000.00,
FALSE,
'2026-03-10'
),
(
4,
'María Rodríguez',
'Tecnología',
35000.00,
TRUE,
'2026-04-05'
);
La tabla ahora contiene cuatro registros.
🔍 Consultar todas las columnas
La forma más sencilla de recuperar información es mediante el asterisco (*).
SELECT *
FROM empleados;
Resultado aproximado:
id | nombre | departamento | salario | activo | fecha_ingreso
----+------------------+--------------------+----------+--------+--------------
1 | Juan Pérez | Tecnología | 25000.00 | true | 2026-01-15
2 | Ana López | Finanzas | 32000.00 | true | 2026-02-01
3 | Carlos García | Recursos Humanos | 28000.00 | false | 2026-03-10
4 | María Rodríguez | Tecnología | 35000.00 | true | 2026-04-05
📋 Consultar columnas específicas
No siempre necesitamos todas las columnas.
Por ejemplo:
SELECT nombre,
salario
FROM empleados;
Resultado:
nombre | salario
-------------------+----------
Juan Pérez | 25000.00
Ana López | 32000.00
Carlos García | 28000.00
María Rodríguez | 35000.00
🔄 Cambiar el orden de las columnas
Las columnas aparecerán en el mismo orden en que se indiquen en el SELECT.
SELECT salario,
nombre
FROM empleados;
Resultado:
salario | nombre
----------+-----------------
25000.00 | Juan Pérez
32000.00 | Ana López
28000.00 | Carlos García
35000.00 | María Rodríguez
✍️ Asignar alias a las columnas
Los alias permiten cambiar temporalmente el nombre mostrado en el resultado.
Se utiliza la palabra clave AS.
SELECT nombre AS empleado,
salario AS sueldo
FROM empleados;
Resultado:
empleado | sueldo
-------------------+----------
Juan Pérez | 25000.00
Ana López | 32000.00
Carlos García | 28000.00
María Rodríguez | 35000.00
🔎 Consultar una sola columna
También es posible recuperar únicamente una columna.
SELECT departamento
FROM empleados;
Resultado:
departamento
--------------
Tecnología
Finanzas
Recursos Humanos
Tecnología
Observa que los valores pueden repetirse.
📊 Consultar varias columnas
SELECT id,
nombre,
departamento
FROM empleados;
Resultado:
id | nombre | departamento
----+-------------------+--------------
1 | Juan Pérez | Tecnología
2 | Ana López | Finanzas
3 | Carlos García | Recursos Humanos
4 | María Rodríguez | Tecnología
🎯 El orden de las filas no está garantizado
Si ejecutas:
SELECT *
FROM empleados;
PostgreSQL normalmente devolverá las filas en el orden en que fueron insertadas, pero esto no está garantizado.
Cuando necesites un orden específico deberás utilizar ORDER BY, tema que veremos más adelante.
📦 Consultar tablas de un esquema
Supongamos que la tabla fue creada dentro del esquema recursos_humanos.
CREATE TABLE recursos_humanos.empleados (
id INTEGER,
nombre VARCHAR(100)
);
La consulta se realizaría utilizando la notación:
SELECT *
FROM recursos_humanos.empleados;
🧪 Ejemplo completo
Este ejemplo muestra el flujo completo desde la creación de la tabla hasta la consulta de los datos.
Paso 1: Crear la tabla
CREATE TABLE productos (
codigo INTEGER,
nombre VARCHAR(100),
categoria VARCHAR(100),
precio NUMERIC(10,2),
disponible BOOLEAN,
fecha_alta DATE
);
Paso 2: Insertar registros
INSERT INTO productos (
codigo,
nombre,
categoria,
precio,
disponible,
fecha_alta
)
VALUES
(
1001,
'Laptop',
'Computadoras',
18500.00,
TRUE,
'2026-06-01'
),
(
1002,
'Monitor',
'Periféricos',
4200.00,
TRUE,
'2026-06-02'
),
(
1003,
'Teclado',
'Accesorios',
750.00,
FALSE,
'2026-06-03'
);
Paso 3: Consultar todos los registros
SELECT *
FROM productos;
Paso 4: Consultar solo algunas columnas
SELECT nombre,
precio
FROM productos;
💡 Buenas prácticas
Evita usar SELECT * en aplicaciones
Durante el aprendizaje está bien utilizar:
SELECT *
FROM empleados;
Pero en aplicaciones reales suele ser mejor indicar explícitamente las columnas necesarias:
SELECT nombre,
salario
FROM empleados;
Esto hace las consultas más claras y eficientes.
Utiliza alias descriptivos
SELECT nombre AS empleado,
salario AS sueldo
FROM empleados;
Mejora la legibilidad de los resultados y reportes.
Mantén formato consistente
Una práctica común es escribir cada columna en una línea distinta:
SELECT id,
nombre,
salario
FROM empleados;
Las consultas son más fáciles de leer y mantener.
✅ Conclusión
La instrucción SELECT es la base de cualquier consulta en PostgreSQL. Con ella podemos recuperar una o varias columnas, visualizar todos los registros de una tabla y presentar los datos de diferentes formas.
Los conceptos más importantes de este capítulo son:
SELECT recupera información.
FROM indica la tabla origen.
SELECT * devuelve todas las columnas.
Se pueden consultar columnas específicas.
Las columnas pueden renombrarse mediante alias (AS).
Las tablas ubicadas en esquemas se consultan mediante esquema.tabla.
No hay comentarios:
Publicar un comentario