Consultas SQL Avanzadas: Proveedores, Partes y Proyectos

A continuación, se presentan una serie de consultas SQL diseñadas para extraer información relevante de una base de datos que gestiona proveedores, partes y proyectos. Estas consultas abarcan desde selecciones básicas hasta operaciones más complejas que involucran múltiples tablas y condiciones.

Consultas de Selección (SELECT)

  1. Obtener nombre de proveedores, partes y cantidades suministradas

    Consulta: SELECT proveedores.nombreprov, partes.nombreparte, suministra.cantidad FROM partes INNER JOIN (proveedores INNER JOIN suministra ON proveedores.numprov = suministra.numprov) ON partes.numparte = suministra.numparte;

  2. Obtener proveedores que no están en la misma ciudad

    Consulta: SELECT p2.nombreprov, p1.nombreprov FROM proveedores AS p1, proveedores AS p2 WHERE p1.ciudad <> p2.ciudad;

  3. Mostrar suministros donde proveedor y parte son de ciudades distintas

    Consulta: SELECT suministra.numprov, proveedores.ciudad, suministra.numparte, partes.ciudad FROM suministra, proveedores, partes WHERE suministra.numparte = partes.numparte AND suministra.numprov = proveedores.numprov AND proveedores.ciudad <> partes.ciudad;

  4. Mostrar proveedores que suministran partes rojas o que pesan 12 gramos o más

    Consulta: SELECT DISTINCT numprov FROM SUMINISTRA INNER JOIN PARTES ON SUMINISTRA.NUMPARTE = PARTES.NUMPARTE WHERE PESO >= 12 OR COLOR = "Rojo";

  5. Cantidad de piezas suministradas por ciudad de piezas

    Consulta: SELECT partes.ciudad, SUM(CANTIDAD) FROM SUMINISTRA INNER JOIN PARTES ON SUMINISTRA.NUMPARTE = PARTES.NUMPART GROUP BY (ciudad);

  6. Ciudad de proveedor con más suministros

    Consulta: SELECT CIUDAD, SUMINISTRA.numprov, SUM(cantidad) FROM suministra INNER JOIN PROVEEDORES ON PROVEEDORES.NUMPROV = SUMINISTRA.NUMPROV GROUP BY CIUDAD, SUMINISTRA.numprov HAVING SUM(CANTIDAD) >= ALL (SELECT SUM(cantidad) FROM suministra GROUP BY numprov);

  7. Ciudad de parte con mayor media de suministros

    Consulta: SELECT PARTES.CIUDAD, S1.NUMPARTE, AVG(S1.CANTIDAD) FROM SUMINISTRA AS S1 INNER JOIN partes ON s1.numparte = partes.numparte GROUP BY PARTES.CIUDAD, S1.NUMPARTE HAVING AVG(S1.CANTIDAD) >= ALL (SELECT AVG(S2.CANTIDAD) FROM SUMINISTRA AS S2 GROUP BY S2.NUMPARTE);

  8. Obtener todos los detalles de todos los proyectos

    Consulta: SELECT partes.nombreparte, proveedores.nombreprov, proyectos.nombreproyecto, suministra.cantidad FROM partes INNER JOIN (proveedores INNER JOIN (proyectos INNER JOIN suministra ON proyectos.numproyecto = suministra.numproyecto) ON proveedores.numprov = suministra.numprov) ON partes.numparte = suministra.numparte;

  9. Obtener todos los detalles de proyectos en Londres

    Consulta: SELECT partes.nombreparte, proveedores.nombreprov, proyectos.nombreproyecto, suministra.cantidad FROM partes INNER JOIN (proveedores INNER JOIN (proyectos INNER JOIN suministra ON proyectos.numproyecto = suministra.numproyecto) ON proveedores.numprov = suministra.numprov) ON partes.numparte = suministra.numparte WHERE (((proyectos.ciudad) = "Londres"));

  10. Códigos de proveedor que suministran al proyecto Y1

    Consulta: SELECT numprov FROM suministra WHERE numproyecto = "y1";

  11. Datos de proyectos con partes entre 300 y 750 unidades

    Consulta: SELECT proyectos.* FROM suministra INNER JOIN proyectos ON suministra.numproyecto = proyectos.numproyecto WHERE cantidad >= 300 AND cantidad <= 750;

  12. Combinaciones parte-color

    Consulta: SELECT nombreparte, color FROM partes;

  13. Colores de partes usadas por el proveedor V1

    Consulta: SELECT DISTINCT color FROM partes INNER JOIN suministra ON suministra.numparte = partes.numparte WHERE suministra.numprov = 'v1';

  14. Códigos de parte suministrados a proyectos en la misma ciudad del proveedor

    Consulta: SELECT numparte FROM proveedores INNER JOIN (proyectos INNER JOIN suministra ON proyectos.numproyecto = suministra.numproyecto) ON proveedores.numprov = suministra.numprov WHERE proyectos.ciudad = proveedores.ciudad;

  15. Códigos de proyecto suministrados por proveedores en otra ciudad

    Consulta: SELECT suministra.numproyecto FROM partes INNER JOIN (proveedores INNER JOIN (proyectos INNER JOIN suministra ON proyectos.numproyecto = suministra.numproyecto) ON proveedores.numprov = suministra.numprov) ON partes.numparte = suministra.numparte WHERE (((proyectos.ciudad) <> [proveedores].[ciudad]));

  16. Códigos de parte suministrados a proyectos en Londres

    Consulta: SELECT numparte FROM suministra INNER JOIN proyectos ON proyectos.numproyecto = suministra.numproyecto WHERE proyectos.ciudad = 'Londres';

Consultas de Actualización (UPDATE)

  1. Actualizar peso de tornillos y levas

    Consultas: UPDATE PARTES SET PESO = 15.0 WHERE NOMBREPARTE = 'Tornillo'; UPDATE PARTES SET PESO = 11.0 WHERE NOMBREPARTE = 'Leva';

  2. Actualizar peso de levas y color de tuercas

    Consultas: UPDATE PARTES SET PESO = 9 WHERE NOMBREPARTE = 'Leva'; UPDATE PARTES SET COLOR = 'Verde' WHERE NOMBREPARTE = 'Tuerca';

  3. Actualizar ciudad de partes de Roma y peso de partes azules

    Consultas: UPDATE PARTES SET CIUDAD = 'Tokio' WHERE CIUDAD = 'Roma'; UPDATE PARTES SET PESO = 17 WHERE COLOR = 'Azul';

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *