Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DROP TABLE IF EXISTS productos,proveedor,suministra cascade;
- CREATE TABLE productos(
- id INTEGER ,
- color CHAR(10),
- PRIMARY KEY(id,color)
- );
- CREATE TABLE proveedor(
- id INTEGER PRIMARY KEY,
- nombre CHAR(20)
- );
- CREATE TABLE suministra(
- id INTEGER PRIMARY KEY,
- id_productos INTEGER ,
- id_proveedor INTEGER REFERENCES proveedor,
- color CHAR(10) ,
- cantidad INTEGER,
- FOREIGN KEY (id_productos,color) REFERENCES productos
- );
- INSERT INTO productos VALUES
- (001,'Verde'),
- (001,'Rojo'),
- (002,'Verde'),
- (002,'Rojo');
- INSERT INTO proveedor VALUES
- (001,'Paco-Regalos'),
- (002,'Carlos&Cia'),
- (003,'Chinatown');
- INSERT INTO suministra VALUES
- (1,001,001,'Verde'),
- (2,001,002,'Rojo'),
- (3,002,001,'Verde'),
- (4,002,001,'Rojo');
- --Ejercicio 4
- --1
- SELECT id_productos, id_proveedor FROM suministra
- GROUP BY id_productos, id_proveedor
- HAVING COUNT(*)=(SELECT COUNT(*) FROM proveedor);
- --2
- SELECT id_productos, id_proveedor FROM suministra
- GROUP BY id_productos, id_proveedor
- HAVING COUNT(*)=(SELECT COUNT(*) FROM suministra);
- --3
- SELECT id_productos, id_proveedor FROM suministra NATURAL JOIN proveedor
- GROUP BY id_productos, id_proveedor
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos);
- --4
- SELECT id_productos, id_proveedor FROM suministra NATURAL JOIN proveedor
- GROUP BY id_productos, id_proveedor
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos
- WHERE color='Rojo');
- --5
- SELECT id,color FROM productos
- GROUP BY id,color
- HAVING COUNT(*)=(SELECT COUNT(*) FROM productos);
- --6
- SELECT proveedor.id,nombre,productos.id,color
- FROM proveedor INNER JOIN suministra ON (id=id_proveedor)
- GROUP BY proveedor.id,nombre,productos.id,color
- HAVING COUNT(*)=(SELECT id,color
- FROM productos
- WHERE id=1 );
- /* Porque no puede existir un productos con un mismo color en varios proveedores */
- --7
- SELECT proveedor.id,nombre,productos.id,color
- FROM proveedor INNER JOIN suministra ON (id=id_proveedor)
- HAVING COUNT(*)=(SELECT id,color FROM productos);
Advertisement
Add Comment
Please, Sign In to add comment