Consultas en SQL con
PostgreSQL
Taller de Base de Datos
• Data Definition Language (Lenguaje
de definición de datos)
DDL • Se usa para definir y modificar la
estructura de la base de datos:
tablas, índices, vistas, esquemas, etc.
Grupos de • Create / Alter / Drop / Truncate
sentencias • Data Manipulation Language
SQL (Lenguaje de Manipulación de
Datos)
DML
• Se usa para gestionar los datos
almacenados dentro de las tablas.
• Insert / Update / Delete / Select
Tipos de consultas en
PostgreSQL
INSERT: Agregar
SELECT: Consultar datos.
registros.
UPDATE: Modificar DELETE: Eliminar
información. registros.
SELECT
La instrucción SELECT permite recuperar datos de una o varias tablas.
Comando Descripción Ejemplo
SELECT * Muestra todas las columnas de una tabla SELECT * FROM empleados;
SELECT columnas Muestra solo las columnas indicadas SELECT nombre, salario FROM empleados;
WHERE Filtra filas según una condición SELECT * FROM empleados WHERE salario > 10000;
AND / OR Combina condiciones SELECT * FROM empleados WHERE salario > 10000 AND
departamento = 'Ventas';
ORDER BY Ordena los resultados (ASC = ascendente, SELECT nombre, salario FROM empleados ORDER BY
DESC = descendente) salario DESC;
DISTINCT Elimina duplicados en los resultados SELECT DISTINCT departamento FROM empleados;
Comando Descripción Ejemplo
LIMIT Limita la cantidad de SELECT * FROM empleados LIMIT 5;
resultados
LIKE Busca coincidencias con SELECT * FROM empleados WHERE nombre LIKE
patrones (comodín %) 'A%';
IN Filtra dentro de una lista de SELECT * FROM empleados WHERE departamento
valores IN ('Ventas', 'TI');
BETWEEN Busca valores dentro de un SELECT * FROM empleados WHERE salario
rango BETWEEN 8000 AND 12000;
GROUP BY Agrupa registros para SELECT departamento, AVG(salario) FROM
cálculos empleados GROUP BY departamento;
HAVING Filtra grupos (se usa con SELECT departamento, COUNT(*) FROM empleados
GROUP BY) GROUP BY departamento HAVING COUNT(*) > 5;
Base de datos Aerolínea
Consultas básicas – SELECT --
Consultas básicas – SELECT --
Ordenamiento y filtros
Ordenamiento y filtros
Ordenamiento y filtros
Funciones de agregación
Funciones de agregación
Funciones de agregación
Funciones de agregación
JOIN
• En PostgreSQL (y en SQL en
general), un JOIN se utiliza en
las consultas (SELECT) para
combinar datos de dos o más
tablas en función de una
columna que tienen en
común (generalmente, una
llave primaria y una llave
foránea).
Una tabla clientes
Ejemplo Una tabla pedidos
Cada pedido está asociado a un cliente mediante un cliente_id. Con un
JOIN, podemos ver información del cliente y de su pedido en la misma
consulta.
Parte 1: JOIN básico
Modelo del avión y fecha de salida de cada vuelo:
SELECT [Link], [Link], v.fecha_salida
FROM vuelos v
JOIN aviones a ON v.id_avion = [Link];
Aeropuerto de origen y destino de cada vuelo:
SELECT [Link], [Link] AS origen, [Link] AS destino
FROM vuelos v
JOIN aeropuertos ao ON v.id_aeropuerto_origen = [Link]
JOIN aeropuertos ad ON v.id_aeropuerto_destino = [Link];
Parte 2: JOIN con pasajeros y boletos
Nombre del pasajero y asiento en cada boleto:
SELECT [Link], [Link], [Link]
FROM boletos b
JOIN pasajeros p ON b.id_pasajero = [Link];
Pasajero y fecha de salida del vuelo:
SELECT [Link], [Link], v.fecha_salida
FROM boletos b
JOIN pasajeros p ON b.id_pasajero = [Link]
JOIN vuelos v ON b.id_vuelo = [Link];
Parte 3: Tipos de JOIN
5. LEFT JOIN: todos los pasajeros aunque no tengan boletos
SELECT [Link], [Link], [Link]
FROM pasajeros p
LEFT JOIN boletos b ON [Link] = b.id_pasajero;
6. RIGHT JOIN: todos los vuelos y sus boletos
SELECT [Link], [Link]
FROM boletos b
RIGHT JOIN vuelos v ON b.id_vuelo = [Link];
Parte 3: Tipos de JOIN
7. FULL JOIN: aeropuertos origen y destino
SELECT [Link], [Link]
FROM aeropuertos ao
FULL JOIN vuelos v ON [Link] = v.id_aeropuerto_origen
FULL JOIN aeropuertos ad ON [Link] = v.id_aeropuerto_destino;
Actividad Final
• Crear una consulta que muestre:
• - Nombre del pasajero
• - Modelo del avión
• - Aeropuerto de destino
• Tip: Usa al menos 3 JOINs para resolverlo.
Consultas JOIN
Consultas Join
Consultas JOIN
Ejercicio:
1. Encontrar los pasajeros que
tienen vuelos internacionales
(origen en México y destino
fuera de México).
2. Mostrar los vuelos que duran
más de 4 horas (diferencia
entre horaSalida y
horasLlegada).
3. Obtener el top 3 de
aeropuertos con más vuelos
de salida.