1. 문제
주문을 한 적 없는 고객을 찾는 간단한 문제이다!
2. 테이블 구조
- Customers
- id: 고객 고유 식별자(기본키)
- name: 고객명
- Orders
- id: 주문 고유 식별자(기본키)
- customerId: 해당 주문을 한 고객 식별자(외래키: Customers의 ID 참조)
3. 풀이방법
LEFT JOIN을 사용
LEFT JOIN: 왼쪽 테이블의 모두 가져오고 거기에 해당하는 오른쪽 테이블 데이터를 함께 가져와 두 테이블을 연결
SELECT name as Customers
FROM Customers
WHERE id NOT IN (
SELECT customerId
FROM Orders
);
- 고객 테이블에서 고객명을 선택. 쿼리 결과 출력시 열 이름을 Customer로 표시
- 고객 테이블에서 주문 테이블에 그 아이디가 없는 고객명을 출력