You may make a copy of a worksheet and complete this activity, or simply type your answers in any text editor.
You may work alone or with at most 2 other students (max size=3) in this course.
Use the following schema.
Product (maker, model, type) -- maker is foreign key to Manufacturer(maker) PC (model, speed, ram, hd, price) Laptop (model, speed, ram, hd, screen, price) Printer (model, color, type, price)
Alternatively, you may import Product-Laptop-PC-Printer.sql into your database server.
You may find subqueries helpful.
SELECT DISTINCT maker FROM S24_Product WHERE model IN (SELECT model FROM S24_PC WHERE speed >= 3.0); -- OR -- SELECT DISTINCT R.maker FROM S24_Product R WHERE EXISTS (SELECT P.model FROM S24_PC P WHERE P.speed >= 3.0 AND P.model = R.model);
SELECT P1.model FROM S24_Printer P1 WHERE P1.price >= ALL (SELECT P2.price FROM S24_Printer P2); -- OR -- SELECT P1.model FROM S24_Printer P1 WHERE P1.price IN (SELECT MAX(P2.price) FROM S24_Printer P2);
SELECT L.model FROM S24_Laptop L WHERE L.speed < ANY (SELECT P.speed FROM S24_PC P); -- OR -- SELECT L.model FROM S24_Laptop L WHERE EXISTS (SELECT P.speed FROM S24_PC P WHERE P.speed > L.speed);
SELECT R.maker FROM S24_Product R, S24_Printer T WHERE R.model = T.model AND T.price <= ALL (SELECT MIN(price) FROM S24_Printer WHERE color = TRUE); -- OR -- SELECT R.maker FROM S24_Product R, S24_Printer T1 WHERE R.model = T1.model AND T1.price IN (SELECT MIN(T2.price) FROM S24_Printer T2 WHERE color = TRUE);
SELECT AVG(P.hd) AS Avg_HD_Size FROM Product R, PC P WHERE R.model = P.model AND R.maker IN (SELECT maker FROM Product WHERE type = 'printer' );
SELECT * FROM S24_Laptop WHERE price > (SELECT AVG(price) FROM S24_PC);
SELECT AVG(T.price) FROM (SELECT P.price FROM S24_Product R, S24_PC P WHERE R.model = P.model AND R.maker = 'EEE' UNION SELECT L.price FROM S24_Product R, S24_Laptop L WHERE R.model = L.model AND R.maker = 'EEE' ) T;
(-2.5 points) for 24 hours late (submitted after 27-Feb-2024 12pm EST, by 28-Feb-2024 12pm EST)
(-5 points) for 48 hours late (submitted after 28-Feb-2024 12pm EST, by 29-Feb-2024 12pm EST)