LEFT 및 RIGHT JOIN

완료됨

LEFT JOIN

A LEFT JOINLEFT OUTER JOIN로도 알려져 있으며, SQL 작업의 한 형식으로 쿼리에서 왼쪽(또는 첫 번째) 테이블의 모든 행을 유지합니다. 오른쪽(또는 두 번째) 테이블에 일치하는 행이 있는지 여부는 관계없습니다. 일치 항목이 발견되면 오른쪽 테이블의 열이 해당 값으로 채워집니다. 그러나 일치하는 항목이 없으면 결과에는 오른쪽 테이블에서 시작된 열에 null이 포함됩니다.
이 조인은 이러한 관계가 불완전하거나 없는 경우에도 다른 테이블의 관련 데이터를 추가하는 동안 한 테이블에서 포괄적인 목록을 만들어야 하는 경우에 유용합니다.

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
LEFT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

SQL 쿼리는 LEFT JOIN 테이블에서 모든 고객을 검색하며, 그 중에는 sales.customers 테이블에서 일치하는 주문이 없는 고객도 포함됩니다. 이 절은 ON 필드가 customer_id 두 테이블을 연결하게 지정합니다.
주문을 한 고객에게는 order_id 테이블에서 orders가 표시됩니다. 그러나 고객에게 주문이 없는 경우 결과에는 여전히 고객이 포함되며 열에 null 값이 order_id 표시됩니다.

RIGHT JOIN

RIGHT JOINRIGHT OUTER JOIN으로도 알려진 SQL 작업으로, 왼쪽(또는 첫 번째) 테이블에 일치하는 행이 있는지 여부와 관계없이 오른쪽(또는 두 번째) 테이블의 모든 행이 결과에 포함되도록 합니다.
일치하는 항목이 없는 경우 왼쪽 테이블의 열에 null 값이 표시됩니다. 이 유형의 조인은 일반적으로 오른쪽 테이블의 데이터에 초점을 맞추는 동시에 관계가 있는 곳마다 왼쪽 테이블의 정보를 추가하는 데 사용됩니다.

SELECT customers.customer_name, orders.order_id
FROM sales.customers AS customers
RIGHT JOIN sales.orders AS orders ON customers.customer_id = orders.customer_id;

이 쿼리는 sales.orders 테이블에서 모든 행을 검색하여, sales.customers 테이블에 관련 항목이 없더라도 모든 주문이 결과에 포함되도록 합니다.
이 절은 ON 열을 통해 두 테이블 간의 관계를 지정합니다 customer_id . 해당 주문에 맞는 고객이 있는 경우 customer_name 열은 customer_name로 채워지며, 일치하지 않는 레코드에는 null 값이 표시됩니다.