Exercise: 37

Find classes for which only one ship exists in the database (including the Outcomes table).

Solution

SELECT class
FROM (
	SELECT class, name AS ship
	FROM ships
	UNION
	SELECT class, ship
	FROM classes
		INNER JOIN outcomes ON classes.class = outcomes.ship
) allShips
GROUP BY class
HAVING COUNT(ship) = 1

References