Clase 10: JOINS complejos
Varios temas relacionados, que involucran distintos JOIN:
- self joins
- USING
- NATURAL JOIN
- joins implícitos
- UNION y UNION ALL
Incluye la consigna de un TP para entregar
Trabajo práctico Nº 1
Grabar un video breve (máximo 2 minutos), en el que se explique la solución de uno cualquiera de los ejercicios propuestos para hoy (a elección del estudiante).
Publicar el video en alguna plataforma (Youtube, Drive, etc) y realizar la entrega a través de la plataforma Edmodo (consignando el enlace al video).
Fecha de entrega: Miércoles 19 de mayo.
JOINS complejos
La explicación del tema está en el siguiente video (en 2 partes).
Descargar la presentación que aparece en el video
Ejercicios propuestos
Trabajaremos con la misma base de datos que en las clases anteriores, si aún no la importaron, vuelvo a dejarles el archivo inmobiliaria.sql.
(La numeración continúa desde la clase anterior, por eso comienza en 6)
- Mostrar id, alta, superficie, precio de venta, fecha de venta, y nombre de la provincia para todas las operaciones de enero de 2007. Usar la cláusula ON.
- Repetir la consulta anterior con la cláusula USING.
- Repetir la consulta anterior con NATURAL JOIN. Intentar explicar con un ejemplo por qué es una mala práctica.
- Mostrar id, alta, superficie, precio de venta, fecha de venta, nombre del tipo de propiedad, nombre del tipo de operación, nombre de la provincia y nombre y apellido del vendedor para todas las operaciones de marzo de 2007.
- Mostrar, por cada provincia, el promedio de los precios de venta de las operaciones de tipo “Venta”.
- Mostrar, por cada provincia, el promedio de los precios de venta de las operaciones de tipo “Venta”. Incluir las provincias que no han tenido ninguna venta.
- Mostrar, por cada vendedor, la suma de precios de venta de agosto de 2006.
- Repetir la consulta anterior, incluyendo a los vendedores que no han vendido nada en ese mes.
- Explicar qué hace la siguiente query, y reescribirla utilizando una mejor práctica:
SELECT vendedores.id_vendedor, nombre, apellido, id, precio_venta
FROM vendedores, operaciones
WHERE vendedores.id_vendedor = operaciones.id_vendedor
AND fecha_venta >= '2007-04-01';
- Se pretende formar equipos de dos vendedores para una campaña de ventas. Mostrar todos los equipos posibles.
Etiquetas: clases, presentaciones, videos, tps