Pedro Villaverde Cristóbal
Consultas SQL
--Extraer la ciudad de los proveedores (no debe aparecer la etiqueta) que tengan un estado mayor
de 15.
-SELECT ciudad
FROM proveedores
WHERE estado > 15;
----Averiguar cuantas partes existen, es decir, el total de filas de la «tabla» partes
-SELECT COUNT(*) AS total_partes
FROM partes;
--Obtener el nombre de los proyectos cuya ciudad sea Paris y que reciban una cantidad de partes
> 350
-SELECT nombreproyecto
FROM Proyectos, Suministros
WHERE [Link] = [Link]
AND ciudad = 'Paris'
AND cantidad > 350;
----Nos han dicho que la cantidad de la tabla suministra debe ser mayor de 350, así que en el
where o en el for de suministra podemos añadir una condición de filtrado:
-SELECT DISTINCT [Link]
FROM Proyectos p
JOIN suministra s ON [Link] = [Link]
WHERE [Link] = 'Paris' AND [Link] > 350;
---Obtener los nombres de proyecto y nombres de parte que estén en la misma ciudad.
-SELECT [Link], [Link]
FROM Proyectos, Partes WHERE [Link] = [Link];
---Obtener parejas de partes que tengan el mismo color (indicando el nombre de ambas partes y el
color que comparten).
Pedro Villaverde Cristóbal
Pedro Villaverde Cristóbal
-SELECT [Link] AS parte1, [Link] AS parte2, [Link] AS color_compartido
FROM Partes AS P1, Partes AS P2
WHERE [Link] < [Link]
AND [Link] = [Link];
---Averiguar cuantas partes existen cuya ciudad sea «Londres», es decir, el total de filas de la
«tabla» partes pero teniendo en cuenta la condición de que el «campo» ciudad debe ser
Londres.
-SELECT COUNT(*) AS total_partes_londres
FROM Partes
WHERE ciudad = 'Londres';
---Crear una consulta XQuery que averigüe la media de partes suministradas cuyo color sea “Rojo”
-SELECT AVG(peso) AS media_peso_partes_rojas
FROM Partes
WHERE color = 'Rojo';
---En el ejercicio anterior hemos calculado la media global de partes rojas. Sin embargo, nos
interesaría conocer la media de cada parte roja. Es decir, la media de p1, la media de p4 y la
media de p6.
-SELECT numparte, AVG(peso) AS media_peso_parte_roja
FROM Partes
WHERE color = 'Rojo'
GROUP BY numparte;
---Averiguar la media de la cantidad de partes que aparecen en la «tabla» suministra
-SELECT AVG(cantidad) AS media_cantidad_partes
FROM suministra;
---Averiguar la media de cantidades por proveedor usando los datos de la tabla suministra.
Pedro Villaverde Cristóbal
Pedro Villaverde Cristóbal
-SELECT numprov, AVG(cantidad) AS media_cantidad
FROM suministra
GROUP BY numprov;
---Averiguar el nombre de los proyectos (sin que haya repeticiones) que reciban una cantidad en la
tabla suministra mayor de 650.
-SELECT DISTINCT nombreproyecto
FROM Proyectos
WHERE numproyecto IN (
SELECT numproyecto
FROM suministra
WHERE cantidad > 650
);
Pedro Villaverde Cristóbal