Base de Datos
Base de Datos
Base de Datos
ALMACENES
CREATE TABLE ALMACENES
( Codigo INT PRIMARY KEY,
Lugar VARCHAR(100),
CAPACIDAD INT)
CAJAS:
CREATE TABLE CAJAS(
NumReferencia CHAR(8) PRIMARY KEY,
Contenido VARCHAR(100),
Valor INT,
almacen INT,
FOREIGN KEY(almacen) references almacenes(Codigo) )
ALMACENES
CAJAS
Numreferencia char(5)
'Madrid','15' )
primary key,
Contenido varchar(100),
Valor int,
Almacen int,
Foreign key(almacen)
references almacenes(código)
Código int primary key,
Lugar varchar(100),
Capacidad int);
Créate table cajas(
Numreferencia char(5) primary
key,
Contenido varchar(100),
Valor int,
Almacen int,
Foreign key(almacen)
references almacenes(código)
CONSULTAS
4) Obtener los códigos de los almacenes en los cuales el valor medio de las cajas sea
superior a 150$
SELECT* FROM almacenes WHERE Codigo IN (select almacen FROM caja
s GROUP BY almacen HAVING AVG(valor) > 150)
5) Obtener el numero de referencia de cada caja junto con el nombre de la ciudad donde
se encuentra (Con INNER JOIN)
SELECT NumReferencia, Lugar FROM ALMACENES INNER JOIN CAJAS ON A
LMACENES.Codigo = CAJAS.Almacen
6) Obtener los códigos de los almacenes que están saturados, los almacenes donde el
numero de cajas es superior a la capacidad ( USAR SUBCONSULTA)
HAGO 2 INSERTS MAS PORQUE NO HAY SUFICIENTES CAJAS EN EL ALMACEN PARA
QUE SUPERE LA CAPACIDAD
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('V4BL', 'Venti
lador','600','123');
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUES ('8GGD', 'Tizas
','100','123')
AHORA SÌ
SELECT Codigo FROM ALMACENES WHERE Capacidad < ( SELECT COUNT(*)
FROM CAJAS WHERE Almacen = Codigo )
7) Obtener los números de referencia de las cajas que están en Bilbao (con Subconsulta)
SELECT NumReferencia FROM CAJAS WHERE Almacen IN ( SELECT Codigo
FROM ALMACENES WHERE Lugar = 'Bilbao')
8) Insertar una nueva caja con numero de referencia “H5RT”, con contenido papel valor
200$ situado en el almacen 2
INSERT INTO cajas (NumReferencia,Contenido,valor, Almacen) VALUE
S ('H5RT', 'Papel','200','124')
9) Rebajar el valor de todas las cajas un 20% de aquellas cuyo valor sea superior al valor
medio de todas las cajas
UPDATE CAJAS SET Valor = Valor*0.80
ANTES
DESPUES
10) Eliminar Todas las cajas cuyo valor sea inferior a 1000$
DELETE FROM CAJAS WHERE Valor < 1000
ANTES
DESPUES
INSERT INTO ALMACENES (Codigo,Lugar,Capacidad) VALUES ('128', 'Barcelo
na','3' )