lec03
lec03
--ý a
SELECT M.name
FROM MovieStar M
JOIN StarsIn S ON M.name = S.starName
WHERE S.movieTitle = 'Star Wars'
AND M.gender = 'F';
--ý b
--ý c
--ý d
SELECT M1.title
FROM Movies M1
WHERE M1.length > (
SELECT M2.length
FROM Movies M2
WHERE M2.title = 'Galaxy Quest'
);
--ý e
SELECT E.name
FROM MovieExec E
WHERE E.netWorth > (
SELECT E2.netWorth
FROM MovieExec E2
WHERE E2.name = 'Mary Tyler Moore'
);
--BÀI 2
CREATE TABLE Product (
maker TEXT,
model TEXT PRIMARY KEY,
type TEXT
);
CREATE TABLE PC (
model TEXT PRIMARY KEY,
speed REAL,
ram INTEGER,
hd INTEGER,
price INTEGER,
FOREIGN KEY (model) REFERENCES Product(model)
);
INSERT INTO Laptop (model, speed, ram, hd, screen, price) VALUES
('2001', 2, 2048, 240, 20.1, 3673),
('2002', 1.73, 1024, 80, 17, 949),
('2003', 1.8, 512, 60, 15.4, 549),
('2004', 2, 512, 60, 13.3, 1150),
('2005', 2.16, 1024, 120, 17, 2500),
('2006', 2, 2048, 80, 15.4, 1700),
('2007', 1.83, 1024, 120, 13.3, 1429),
('2008', 1.6, 1024, 100, 15.4, 900),
('2009', 1.6, 512, 80, 14.1, 680),
('2010', 2, 2048, 160, 15.4, 2300);
--ý a
--ý b
--ý c
SELECT maker
FROM Product
WHERE type = 'Laptop'
EXCEPT
SELECT maker
FROM Product
WHERE type = 'PC';
-- d
SELECT p1.hd
FROM PC p1
JOIN PC p2 ON p1.hd = p2.hd AND p1.model <> p2.model;
-- e)
SELECT p1.model AS model1, p2.model AS model2
FROM PC p1
JOIN PC p2 ON p1.speed = p2.speed AND p1.ram = p2.ram AND p1.model <
p2.model;
-- f)
SELECT maker
FROM Product
WHERE type IN ('PC', 'Laptop')
GROUP BY maker
HAVING COUNT(DISTINCT model) >= 2;