right join 예제
SQL 오른쪽 외부 조인은 SQL 오른쪽 조인이라고도 합니다. 일부 데이터베이스 관리 시스템은 SQL 전체 외부 조인 구문(예: MySQL)을 지원하지 않습니다. SQL 전체 외부 조인은 SQL 왼쪽 조인과 SQL 오른쪽 조인의 결합된 결과 집합을 반환하기 때문입니다. 따라서 다음과 같이 SQL 왼쪽 조인 및 SQL 오른쪽 조인을 사용하여 SQL 전체 외부 조인을 쉽게 에뮬레이트할 수 있습니다. SQL 오른쪽 외부 조인의 구문은 다음과 같습니다: SQL 왼쪽 외부 조인은 SQL 왼쪽 조인이라고도 합니다. A와 B. SQL 왼쪽 외부 조인은 왼쪽 테이블(A)의 모든 행과 오른쪽 테이블(B)에 있는 모든 일치하는 행을 반환합니다. 즉, SQL 왼쪽 조인의 결과는 항상 왼쪽 테이블에 있는 행을 포함합니다. 이너 조인으로 조인을 변경하면 다음과 같은 세 가지 종류의 외부 조인이 있습니다: 왼쪽 외부 조인, 오른쪽 외부 조인 및 전체 외부 조인. 각 종류의 조인을 자세히 살펴보겠습니다. 위의 예제에서는 해당 테이블 이름으로 일부 필드 이름을 정규화했습니다.
사실, 우리는 별칭으로 그들을 인증했습니다. 특히 c.last_name = a.last_name을 읽는 비트는 별칭을 사용하여 테이블의 별칭으로 열 이름을 한정합니다. 위의 예제를 왼쪽 조인으로 변경하고 c.customer_id로 주문하면 다음과 같은 결과가 나왔습니다. 열을 한정하지 않으면 MySQL이 모호한 열 오류를 throw합니다. 그것은 다음과 같은 것을 말할 것이다 : 오른쪽 외부 조인은 오른쪽 조인의 동의어입니다. 오른쪽 조인과 오른쪽 외부 조인은 동일합니다. OUTER 키워드는 선택 사항입니다. 고객 테이블의 모든 행이 나열됩니다. 고객 테이블의 행에 대해 검색된 주문 테이블에 일치하는 행이 없는 경우 orders 테이블의 orderid 열이 NULL 값으로 채워집니다. 필드 이름이 동일하기 때문에 이 작업을 수행합니다(last_name). 테이블 이름으로 한정하지 않은 경우(예: last_name = last_name을 입력한 경우).
MySQL은 고객 테이블의 열또는 행위자 테이블의 열과 같은 열을 알지 못합니다. 오른쪽 JOIN은 두 개 이상의 테이블의 데이터를 결합합니다. 오른쪽 JOIN은 오른쪽 테이블에서 데이터를 선택하고 왼쪽 테이블의 행과 일치하기 시작합니다. RIGHT JOIN은 왼쪽 테이블의 일치하는 행이 있는지 여부에 관계없이 오른쪽 테이블에 있는 모든 행을 포함하는 결과 집합을 반환합니다. 오른쪽 테이블의 행에 왼쪽 테이블의 일치하는 행이 없는 경우 결과 집합의 왼쪽 테이블의 열에는 null이 있습니다. 쿼리는 production.products 테이블(오른쪽 테이블)과 sales.order_items 테이블(왼쪽 테이블)의 행에서 모든 행을 반환했습니다. 제품에 판매가 없는 경우 order_id 열에는 null이 있습니다. Venn 다이어그램을 사용하여 SQL LEFT OUTER JOIN의 작동 방식을 시각화할 수 있습니다. 참고: 오른쪽 JOIN 키워드는 왼쪽 테이블(Orders)에 일치하는 항목이 없는 경우에도 오른쪽 테이블(Employees)의 모든 레코드를 반환합니다. RIGHT JOIN 및 LEFT JOIN 절은 기능적으로 동일하며 테이블 순서가 전환되는 한 서로 대체할 수 있음을 강조하는 것이 중요합니다. 참고: 일부 데이터베이스에서 오른쪽 조인을 오른쪽 외부 조인이라고 합니다. SQL INNER JOIN에 대해 알아보려면 SQL INNER JOIN 자습서를 확인하십시오.
RIGHT JOIN을 사용했기 때문에 모든 고객(오른쪽 표)이 결과 집합에 나타납니다. 또한 일부 고객은 영업 사원 열에서 NULL로 표시된 전용 영업 담당자가 없는 것으로 나타났습니다. MySQL 오른쪽 조인은 테이블반전 처리를 제외하고 왼쪽 조인과 유사합니다. 그러나 중요한 것은 고객과 성을 공유하는지 여부에 관계없이 모든 액터를 표시한다는 것입니다. 따라서 액터가 고객과 동일한 성을 공유하지 않으면 액터는 여전히 나열됩니다.