공통 필드에 일치 값이 있을 때마다 두 테이블의 레코드를 결합합니다.
구문
FROM table1 INNER JOIN table2 ON table1.field1compopr table2.field2
INNER JOIN 연산은 다음과 같이 구성됩니다.
구성 요소 |
설명 |
table1, table2 |
레코드를 결합할 테이블의 이름입니다. |
field1, field2 |
조인되는 필드의 이름입니다. 이러한 필드는 숫자 값이 아닌 경우 데이터 형식이 같아야 하고 동일한 종류의 데이터를 포함해야 하지만 이름은 달라도 됩니다. |
compopr |
관계형 비교 연산자("=", "<", ">", "<=", ">=" 또는 "<>")입니다. |
주의
FROM 절에서 INNER JOIN 작업을 사용할 수 있습니다. 이것은 가장 일반적인 조인 형식입니다. 내부 조인은 두 테이블에 공통적인 필드에 일치 값이 있을 때마다 두 테이블의 레코드를 결합합니다.
INNER JOIN을 Departments 및 Employees 테이블과 함께 사용하여 각 부서의 모든 직원을 선택할 수 있습니다. 반대로 모든 부서(일부 부서에 지정된 직원이 없는 경우에도) 또는 모든 직원(일부 직원이 부서에 지정되지 않은 경우에도)을 선택하려면 LEFT JOIN 또는 RIGHT JOIN 작업을 사용하여 외부 조인을 만들 수 있습니다.
Memo 또는 OLE 개체 데이터를 포함하는 필드를 조인하면 오류가 발생합니다.
비슷한 형식의 두 숫자 필드를 조인할 수 있습니다. 예를 들어, AutoNumber 및 Long 필드는 비슷한 형식이므로 조인할 수 있습니다. 그러나 Single 및 Double 형식 필드는 조인할 수 없습니다.
다음 예에서는 CategoryID 필드에서 Categories 및 Products 테이블을 조인하는 방법을 보여 줍니다.
SELECT CategoryName, ProductName
FROM Categories INNER JOIN Products ON Categories.CategoryID = Products.CategoryID;
앞의 예에서 CategoryID는 조인된 필드이지만 SELECT 문에 포함되지 않으므로 쿼리 출력에 포함되지 않습니다. 조인된 필드를 포함하려면 SELECT 문에 필드 이름을 포함합니다(이 경우 Categories.CategoryID).
다음 구문을 사용하여 JOIN 문에 여러 개의 ON 절을 연결할 수도 있습니다.
SELECT fields
FROM table1 INNER JOIN table2 ON table1.field1compoprtable2.field1 AND ON table1.field2compoprtable2.field2) OR ON table1.field3compoprtable2.field3)];다음 구문을 사용하여 JOIN 문을 중첩할 수도 있습니다.
SELECT fields
FROM table1 INNER JOIN (table2 INNER JOIN [( ]table3 [INNER JOIN [( ]tablex [INNER JOIN ...)] ON table3.field3compoprtablex.fieldx)] ON table2.field2compoprtable3.field3) ON table1.field1compoprtable2.field2;LEFT JOIN 또는 RIGHT JOIN은 INNER JOIN 내부에서 중첩될 수 있지만 INNER JOIN은 LEFT JOIN 또는 RIGHT JOIN 내부에 중첩될 수 없습니다.