Annotated Jingzhe hw2
Annotated Jingzhe hw2
1.
SELECT sname
FROM Suppliers
WHERE sname = ‘ACE Hardware’;
2.
SELECT C.sid
FROM Catalog C, Parts P
WHERE C.pid = P.pid AND P.color = ‘red’ AND P.price = 49.99;
3.
SELECT S.sname
FROM Suppliers S
WHERE S.sid IN (
SELECT C.sid
FROM Catalog C, Parts P
WHERE C.pid = P.pid AND P. color = ‘red’
)
AND S.sid NOT IN (
SELECT C.sid
FROM Catalog C, Parts P
WHERE C.pid = P.pid AND P. color = ‘green’
);
4.
SELECT S.sname
FROM Suppliers S
WHERE S.sid IN(
SELECT C.sid
FROM Catalog C, Parts P
WHERE C.pid = P.pid AND P. color = ‘red’
)
AND S.sid IN (
SELECT C.sid
FROM Catalog C, Parts P
WHERE C.pid = P.pid AND P. price = 49.99
);
5.
SELECT P2.pid, P2.pname
FROM (
SELECT MAX(weight)
FROM Parts)
) AS P1, Parts P2
WHERE P1.MAX(weight) = P2.weight;
6.
SELECT S.sname
FROM Suppliers S
WHERE NOT EXISTS (
SELECT P.pid
FROM Parts P
WHERE P.color = ‘green’ AND P.weight > 100
EXCEPT
SELECT C.pid
FROM Catalog C
WHERE S.sid = C.sid
);
7.
SELECT P.pid, P.pname
FROM Parts P
WHERE P.pid NOT IN (
SELECT C.pid
FROM Catalog C
);
8.
SELECT P.pname
FROM Parts P, Catalog C1, Catalog C2
WHERE P.pid = C1.pid AND P.pid = C2.pid AND C1.sid != C2.sid;
9.
SELECT P.sname
FROM Parts P
WHERE P.pid IN (
SELECT C.pid
FROM Catalog C
BROUP BY C.pid
HAVING COUNT(C.sid) = 4
);
10.
SELECT S.sname
FROM Suppliers S
WHERE S.sid IN (
SELECT C.sid
FROM Catalog C
GROUP BY C.sid
HAVING COUNT(C.pid) > 100
);
11.
SELECT P.pname
FROM Supplier S, Parts P, Catalog C
WHERE S.sid = C.sid AND P.pid = C.pid AND S.sname = P.pname;
12.
SELECT P.pid, P.pname
FROM Catalog C, Parts P
WHERE P.pid = C.pid
AND C.cost NOT IN (
SELECT MAX(C1.cost)
FROM Catalog C1
WHERE C1.cost NOT IN (
SELECT MAX(C2.cost)
FROM Catalog C2
)
);
SET Ⅱ
1.
SELECT *
FROM s
WHERE E != 21;
2.
SELECT B, C
FROM r;
3.
SELECT F, D
FROM s
WHERE E>F;
4.
SELECT D, C
FROM r
INTERSECT
SELECT D, F
FROM s
5.
SELECT *
FROM r, s;
6.
SELECT s.E, r.C, r.D
FROM r, s
WHERE r.D = s.D;