Как вывести имена всех людей, которые покупали морские продукты? Пример на SQL тренажере

Пытаюсь разобраться в sql с помощью задачек на этом онлайн-тренажере https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all
Исходя из базы на этом сайте есть задание:
Вывести только имена всех людей, которые покупали морские продукты
Насколько я поняла, для этого надо связать друг с другом 4 таблицы.

Структура
Customers: CustomerID, CustomerName
Orders: OrderID, CustomerID
OrderDetails: OrderID, ProductID
Products: ProductID, CategoryID

У меня получилась данная каша, в верности результата не уверена:

SELECT CustomerName FROM Customers where CustomerID in 
  (SELECT CustomerID FROM Orders where OrderID in 
    (SELECT OrderID FROM OrderDetails where ProductID in 
      (SELECT ProductID FROM Products where CategoryID=8 )))

Подскажите, как можно решить данный пример?


Ответы (1 шт):

Автор решения: Akina
SELECT DISTINCT CustomerName
FROM Customers
JOIN Orders USING (CustomerID)
JOIN OrderDetails USING (OrderID)
JOIN Products USING (ProductID)
WHERE CategoryID = 8
→ Ссылка