[sql] 조인 조건에 대한 ON과 WHERE절의 차이점

데이터베이스에서 테이블을 결합할 때, ONWHERE절을 사용하여 결과를 필터링하는 것이 일반적입니다. 그러나 두 조건절은 서로 다른 목적을 가지고 있습니다.

ON 절

ON 절은 JOIN 절에서 특정 조인 조건을 지정하는 데 사용됩니다. 이 조건은 테이블 간의 관계를 정의하고, 결합해야 하는 행을 식별합니다.

예를 들어, 고객 테이블과 주문 테이블을 합칠 때, ON 절을 사용하여 고객 ID가 동일한 행을 찾습니다.

SELECT *
FROM customer
JOIN order
ON customer.id = order.customer_id;

WHERE 절

반면에 WHERE 절은 결과 집합을 필터링하는 데 사용됩니다. 여기에는 조인된 결과 테이블의 열을 기반으로 한 조건을 지정할 수 있습니다.

SELECT *
FROM customer
JOIN order
ON customer.id = order.customer_id
WHERE customer.age > 18;

따라서, ON 절은 테이블 간의 관계를 정의하고, WHERE 절은 최종 결과를 필터링하기 위해 사용됩니다.

두 조건절은 각각의 목적을 가지며, 올바르게 사용함으로써 적절한 결과를 얻을 수 있습니다.

참조