Here is an example of a JOIN query:
SELECT O.OrderID, O.OrderDate, C.CustomerName, O.TotalAmount
FROM Orders O
JOIN Customers C ON O.CustomerID = C.CustomerID
WHERE C.City = 'Stockholm';
This query lists some information about orders placed by customers in Stockholm.
When computing the query, SQL Server can implement the join in the query in different ways, and one of them is a Nested Loops Join. But that is not really your business. SQL is a declarative language: You say what result you want, and the optimizer figures out how to compute it.
To find the name of the youngest sailor per rating, this can be expressed in more than one way, but here is one pattern.
WITH numbering AS (
SELECT S.Name, S.Age, S.Rating rank = rank() OVER(PARTITION BY S.Rating ORDER BY S.Age)
FROM Sailor S
)
SELECT n.Name, n.Age, n.Rating
FROM numbering
WHERE rank = 1;