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);
Released under the CC-BY-NC-SA 4.0 license.
Last updated 2024-02-20 20:48