Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
7 views2 pages

Sailors SQL CheatSheet

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views2 pages

Sailors SQL CheatSheet

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

■ Sailors/Boats SQL Cheat Sheet

1. Counting & Aggregates


COUNT, SUM, AVG, MIN, MAX are used to summarize data.

Example – Count boats:


SELECT COUNT(*) FROM Boats;

Example – Count reservations per sailor:


SELECT sid, COUNT(*)
FROM Reserves
GROUP BY sid;

2. Joins
Use JOIN to connect Sailors, Reserves, and Boats.

Example – Sailors who reserved boats:


SELECT s.sname, r.bid
FROM Sailors s
JOIN Reserves r ON s.sid = r.sid;

Example – Sailors who reserved red boats:


SELECT s.sname
FROM Sailors s
JOIN Reserves r ON s.sid = r.sid
JOIN Boats b ON r.bid = b.bid
WHERE b.color='Red';

3. Filters
Use WHERE to restrict rows.

Example – Names starting with A:


SELECT * FROM Sailors WHERE sname LIKE 'A%';

Example – Boats never reserved:


SELECT b.bname
FROM Boats b
WHERE b.bid NOT IN (SELECT DISTINCT bid FROM Reserves);

4. Subqueries
Use subqueries for comparisons.

Example – Sailors who reserved all boats:


SELECT s.sname
FROM Sailors s
JOIN Reserves r ON s.sid = r.sid
GROUP BY s.sid
HAVING COUNT(DISTINCT r.bid) = (SELECT COUNT(*) FROM Boats);

5. Ranking / Ordering
Use ORDER BY or RANK functions.

Example – Rank sailors by rating:


SELECT sname, rating,
DENSE_RANK() OVER (ORDER BY rating DESC) AS rank
FROM Sailors;

6. Dates
Use MIN, MAX, or WHERE for date-based queries.

Example – Earliest reservation per boat:


SELECT bid, MIN(day)
FROM Reserves
GROUP BY bid;

Example – Reservations on a specific date:


SELECT s.sid, s.sname, b.bname
FROM Sailors s
JOIN Reserves r ON s.sid = r.sid
JOIN Boats b ON r.bid = b.bid
WHERE r.day = '1998-10-10';

You might also like