INNER JOIN에서 일치하지 않는 레코드의 처리 방식으로 올바른 것은?
INNER JOIN에서 일치하지 않는 레코드의 처리 방식으로 올바른 것은?
-- 데이터 상황
-- Orders: OrderID(10308, 10309), CustomerID(2, 99)
-- Customers: CustomerID(1, 2, 3), CustomerName
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
정답: B
⦁ INNER JOIN에서는 일치하지 않는 레코드가 결과에서 제외됩니다
데이터 매칭 분석:
⦁ OrderID 10308, CustomerID 2: Customers 테이블에 CustomerID 2 존재 ✓ (포함됨)
⦁ OrderID 10309, CustomerID 99: Customers 테이블에 CustomerID 99 없음 ❌ (제외됨)
INNER JOIN의 특징:
⦁ 양쪽 테이블에 모두 존재하는 값만 결과에 포함
⦁ NULL 값 처리나 기본값 설정 없음
⦁ 엄격한 매칭 조건: 일치하지 않으면 완전히 제외
다른 JOIN과의 차이:
⦁ LEFT JOIN: 왼쪽 테이블 레코드 보존, 오른쪽에 NULL 표시
⦁ INNER JOIN: 매칭되지 않으면 완전 제외
💡 학습 팁
이 문제를 포함한 MySQL 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.