Bases de Datos II

3º2ª DS

Clase 10: JOINS complejos

12/05/2021 — Juanse Marquez

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)

  1. 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.
  2. Repetir la consulta anterior con la cláusula USING.
  3. Repetir la consulta anterior con NATURAL JOIN. Intentar explicar con un ejemplo por qué es una mala práctica.
  4. 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.
  5. Mostrar, por cada provincia, el promedio de los precios de venta de las operaciones de tipo “Venta”.
  6. 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.
  7. Mostrar, por cada vendedor, la suma de precios de venta de agosto de 2006.
  8. Repetir la consulta anterior, incluyendo a los vendedores que no han vendido nada en ese mes.
  9. 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';
  1. Se pretende formar equipos de dos vendedores para una campaña de ventas. Mostrar todos los equipos posibles.

Etiquetas: clases, presentaciones, videos, tps