최대 1 분 소요

문제 링크

정답

SELECT C.name Customers
FROM Customers C
LEFT JOIN (
    SELECT customerId as id
    FROM Orders
    GROUP BY customerId
) O
ON C.id = O.id
WHERE O.id is NULL;

✅ Point

  • Customers의 id 중 Orders 의 customerId 에 존재하지 않는 id 찾기
  • LEFT JOIN + NULL 대신, WHERE NOT EXISTS 로 풀 수도 있음

다른 풀이

  • NOT EXISTS를 이용한 풀이
    SELECT name Customers
    FROM Customers C
    WHERE NOT EXISTS (
      SELECT customerId
      FROM Orders O
      WHERE C.id = O.customerId
    );