MySQL에는 주로 LEFT JOIN과 RIGHT JOIN이라는 두 가지 종류의 조인이 있습니다. 이러한 조인의 주요 차이점은 다음과 같습니다. 일치하지 않는 행 포함 . LEFT JOIN은 왼쪽의 모든 레코드와 오른쪽 테이블의 일치하는 행을 포함하는 반면, RIGHT JOIN은 오른쪽의 모든 행과 왼쪽 테이블의 일치하지 않는 행을 반환합니다. 이 섹션에서는 LEFT 조인과 RIGHT 조인의 일반적인 차이점을 알아 보겠습니다. 비교를 살펴보기 전에 먼저 JOIN, LEFT JOIN 및 RIGHT JOIN 절을 이해하겠습니다. MySQL .
JOIN 절이란 무엇입니까?
ㅏ 가입하다 여러 테이블의 데이터를 쿼리하는 데 사용되며 조건을 통해 둘 이상의 테이블에서 결합된 결과를 반환합니다. 조인 절의 조건은 지정된 테이블 간에 열이 일치하는 방식을 나타냅니다.
LEFT JOIN 절이 무엇인가요?
Left Join 절은 두 개 이상의 테이블을 조인하고 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 레코드를 반환하거나 일치하는 레코드를 찾지 못한 경우 null을 반환합니다. 그것은 또한로 알려져 있습니다 왼쪽 외부 조인 . 따라서 Outer는 Left Join과 함께 사용할 선택적 키워드입니다.
다음과 같은 시각적 표현으로 이를 이해할 수 있습니다.
LEFT 조인에 대한 자세한 내용을 읽으려면 여기를 클릭하세요 .
RIGHT JOIN 절은 무엇입니까?
Right Join 절은 두 개 이상의 테이블을 조인하고 오른쪽 테이블의 모든 행과 지정된 조인 조건을 충족하는 다른 테이블의 결과만 반환합니다. 왼쪽 테이블에서 일치하지 않는 레코드를 찾으면 Null 값을 반환합니다. 그것은 또한로 알려져 있습니다 오른쪽 외부 조인 . 따라서 Outer는 Right Join과 함께 사용할 수 있는 선택적 절입니다.
우리는 다음과 같이 이해할 수 있습니다. 시각적 표현 .
RIGHT JOIN에 대한 자세한 내용을 보려면 여기를 클릭하세요.
LEFT JOIN 절의 구문
다음은 LEFT JOIN의 일반적인 구문입니다.
SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
다음은 LEFT OUTER JOIN의 일반적인 구문입니다.
SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
RIGHT JOIN 절의 구문
다음은 RIGHT JOIN의 일반적인 구문입니다.
SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
다음은 RIGHT OUTER JOIN의 일반적인 구문입니다.
SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition
왼쪽 조인과 오른쪽 조인
다음 비교표에서는 주요 차이점을 빠르게 설명합니다.
왼쪽 조인 | 바로 가입 |
---|---|
두 개 이상의 테이블을 조인하고 왼쪽 테이블의 모든 레코드를 반환하며 오른쪽 테이블의 일치하는 행을 반환합니다. | 두 개 이상의 테이블을 조인하는 데 사용되며 오른쪽 테이블의 모든 레코드를 반환하고 왼쪽 테이블의 일치하는 행을 반환합니다. |
오른쪽 테이블에 일치하는 행이 없으면 결과 집합에 null 값이 포함됩니다. | 왼쪽 테이블에 일치하는 행이 없으면 결과 집합에는 null 값이 포함됩니다. |
LEFT OUTER JOIN이라고도 합니다. | RIGHT OUTER JOIN이라고도 합니다. |
예
예를 통해 두 조인의 차이점을 이해해 보겠습니다. '라는 이름의 테이블이 있다고 가정해 보겠습니다. 고객 ' 그리고 ' 명령 '에는 다음 데이터가 포함되어 있습니다.
테이블: 고객
표: 주문
왼쪽 조인 예
다음 SQL 문은 LEFT JOIN 쿼리를 사용하여 두 테이블 모두에서 일치하는 레코드를 반환합니다.
SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>
쿼리가 성공적으로 실행되면 다음과 같은 출력이 표시됩니다.
'2020-04-30';>