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.
Import alldbs.sql into your database server (if you have not done so). Write SQL queries to solve the following problems.
Boats (bid, bname, color) Sailors (sid, sname, rating, age) Reserves (sid, bid, day) -- note: no PK
SELECT DISTINCT sname FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats WHERE color='Red' OR color='Green'; -- another solution -- (SELECT DISTINCT sname FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats WHERE color='Red') UNION (SELECT sname FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats WHERE color='Green');
(SELECT DISTINCT sname
FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats
WHERE color='Red')
INTERSECT
(SELECT sname
FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats
WHERE color='Blue');
-- another solution --
SELECT DISTINCT sname
FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats
WHERE color='Red'
AND sname IN
(SELECT sname
FROM Sailors NATURAL JOIN Reserves NATURAL JOIN Boats
WHERE color='Blue');
-- another solution --
SELECT DISTINCT (sname)
FROM Boats B1, Boats B2, Reserves R1, Reserves R2, Sailors S
WHERE R1.bid = B1.bid AND R2.bid = B2.bid AND
B1.color = 'red' AND B2.color = 'blue' AND
R1.sid = R2.sid AND R1.sid = S.sid;
account (account_number, branch_name, balance) borrower (customer_name, loan_number) -- note: no PK branch (branch_name, branch_city, assets) depositor (customer_name, account_number) -- note: no PK loan (loan_number, branch_name, amount)
(SELECT customer_name FROM depositor) UNION (SELECT customer_name FROM borrower);
(SELECT DISTINCT customer_name
FROM borrower NATURAL JOIN loan
WHERE loan.branch_name='Perryridge')
EXCEPT
(SELECT customer_name
FROM depositor);
-- another solution --
SELECT DISTINCT customer_name
FROM borrower NATURAL JOIN loan
WHERE loan.branch_name='Perryridge'
AND customer_name NOT IN
(SELECT customer_name
FROM depositor);
CC-BY-NC-SA 4.0 license.