주요 차이점 : SQL의 조인은 두 개의 서로 다른 테이블의 데이터를 결합하기 위해 수행됩니다. 내부 조인은 "모든 테이블"에서 'where'절을 충족시키는 행을 생성하는 조건입니다. Outer Join은 "적어도 하나의 테이블"에서 'where'절을 충족시키는 행을 생성하는 조건입니다.
조인을 구현할 때 임시 테이블이 만들어지며이 테이블은 열을 기반으로합니다. 조인 조건에는 항상 두 개의 테이블이 있어야합니다. 이러한 조건은 한 테이블의 각 구성 요소를 다른 구성 요소와 병합하여 완전히 새로운 테이블을 생성합니다. 이 표의 목적은 의미 있고 필요한 데이터 또는 정보를 추출하는 것입니다. 조건에 따라 내부 조인과 외부 조인이라는 두 가지 유형의 조인이 있습니다.
SQL INNER JOIN 구문 :
SELECT column_name (s)
FROM table1
INNER JOIN 테이블 2
ON table1.column_name = table2.column_name;
INNER JOIN 키워드는 두 테이블의 열이 일치하는 한 두 테이블의 모든 행을 선택합니다.
내부 조인은 데이터베이스 설계 및 특성의 선택에 따라 달라집니다. 따라서 이러한 내부 조인은 Equi-Joins 및 Natural 조인에 사용됩니다. Equi Join에는 주어진 두 테이블을 동일하게 만드는 데 사용되는 특정 유형의 비교가 있습니다. 따라서이 테이블은 등호 술어를 사용합니다. 자연 조인은 일종의 Equi 조인입니다.
Equi Join의 구문은 다음과 같습니다.
S ELECT *
FROM table1, table 2
WHERE table1.coloumn_name = table2.coloumn_name;
동일 조인의 열이 같은 이름을 갖는 경우, 각각의 SQL 버전은 USING 구조로 표현 될 수있는 선택적 축약 표기법을 제공합니다.
고르다 *
FROM table1 INNER JOIN 테이블 2 USING (column_name);
Natural Join의 구문은 다음과 같습니다.
고르다 *
FROM table1 NATURAL JOIN table2;
"외부 조인"은 레코드에 대해 일치 조건을 필요로하지 않습니다. 이 조인 조건은 일치하지 않는 레코드 외에 다른 모든 레코드를 유지합니다. 이 조인은 원하는 테이블 조건 및 속성에 따라 구현되는 왼쪽, 오른쪽 및 완전 외부 조인 조건으로 더 분산됩니다.
왼쪽 외부 조인
LEFT JOIN 키워드는 왼쪽 테이블 (table1)의 모든 행과 오른쪽 테이블 (table2)의 대응 행을 리턴합니다. 일치가 없으면 오른쪽에 "NULL"이 표시됩니다.
왼쪽 외부 조인 구문은 다음과 같습니다.
SELECT column_name (s)
FROM table1
LEFT OUTER JOIN 테이블 2
ON table1.column_name = table2.column_name;
오른쪽 외부 조인
RIGHT JOIN 키워드는 오른쪽 테이블 (table2)의 모든 행과 왼쪽 테이블 (table1)의 일치하는 행을 리턴합니다. 결과가 일치하지 않으면 왼쪽에 NULL입니다.
오른쪽 외부 조인의 구문은 다음과 같습니다.
SELECT column_name (s)
FROM table1
오른쪽 외부 조인 table2
ON table1.column_name = table2.column_name;
전체 외부 조인
FULL OUTER JOIN 키워드는 왼쪽 테이블 (table1)과 오른쪽 테이블 (table2)의 모든 행을 반환합니다. FULL OUTER JOIN 키워드는 LEFT 및 RIGHT 조인의 결과를 결합합니다.
전체 외부 조인 구문은 다음과 같습니다.
SELECT column_name (s)
FROM table1
전체 OUTER JOIN 테이블 2
ON table1.column_name = table2.column_name;
내부 조인과 외부 조인의 비교 :
내부 조인 | 외부 조인 | |
기본 기능 | 내부 조인은 기본적으로 두 테이블 간의 일치하는 행을 찾는 데 사용됩니다. | 외부 조인은 테이블 또는 두 테이블의 행을 유지합니다. |
공통 변수의 존재 | 여기서 공통 변수는 두 표 모두에 강제적으로 있어야합니다. | 여기서 변수는 두 번째 테이블에 존재하거나 존재하지 않을 수있는 첫 번째 테이블에만 의존합니다. |
보고 | 내부 조인은 조인 조건부를 기반으로 일치하는 행만 반환합니다. | 외부 조인은 조인 조건부에 따라 일치 여부에 관계없이 모든 행을 반환합니다. |
사용 | 두 테이블 모두에 레코드가있는 경우에만 레코드를 보는 데 사용됩니다. | 하나의 테이블에있는 모든 레코드를 보는 데 사용됩니다. |
에 적용 가능 | 그들은 다음에 적용됩니다 : 동등한 가입 및 자연 결합 | 그들은 다음과 같이 적용 가능합니다 : 왼쪽 외부 조인 오른쪽 외부 조인 전체 외부 조인 |