select s.scode, d.dcode, t.tcode
from salesman s left join depart d on s.depart = d.dcode
left join team t on s.team = t.tcode
Order By s.scode
같이 하면 오류가 발생합니다.
left join을 하나 즉,
select s.scode, d.dcode
from salesman s left join depart d on s.depart = d.dcode
Order By s.scode
같이 하면 아무 문제가 없는데 말입니다.
도움좀 부탁합니다.
감사합니다.
> select s.scode, d.dcode, t.tcode
> from salesman s left join depart d on s.depart = d.dcode
> left join team t on s.team = t.tcode
> Order By s.scode
>
> 같이 하면 오류가 발생합니다.
> left join을 하나 즉,
> select s.scode, d.dcode
> from salesman s left join depart d on s.depart = d.dcode
> Order By s.scode
>
> 같이 하면 아무 문제가 없는데 말입니다.
> 도움좀 부탁합니다.
>
> 감사합니다.
>
LEFT JOIN, RIGHT JOIN 연산
FROM 절에 사용할 경우 원본 테이블 레코드를 결합합니다.
구문
FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1 compopr table2.field2
LEFT JOIN과 RIGHT JOIN은 다음과 같은 구성 요소로 되어 있습니다.
구성 요소 설명
table1, table2 레코드를 결합할 테이블 이름.
field1, field2 조인할 필드 이름. 필드의 데이터 형식이 같아야 하며 같은 종류의 데이터가 들어 가야 하지만 이름이 같을 필요는 없습니다.
compopr 관계 비교 연산자: "=," "<," ">," "<=," ">=," "<>."
참고
왼쪽 외부 조인을 작성하려면 LEFT JOIN을 사용하십시오. 왼쪽 외부 조인은 첫째 테이블의 레코드가 둘째(오른쪽) 테이블의 레코드와 일치하지 않더라도 첫째(왼쪽) 테이블의 모든 레코드를 포함합니다.
오른쪽 외부 조인을 작성하려면 RIGHT JOIN을 사용합니다. 오른쪽 외부 조인은 첫째(왼쪽) 테이블의 레코드와 일치하는 값이 없더라도 둘째(오른쪽) 테이블의 모든 레코드를 포함합니다.
그 예로 LEFT JOIN 문을 Departments(왼쪽)와 Employees(오른쪽) 테이블에 사용하여 직원이 없는 부서를 포함한 모든 부서를 선택할 수 있습니다. 소속 부서가 없는 직원을 포함한 모든 직원을 선택하려면 RIGHT JOIN 문을 사용합니다.
다음 예제는 CategoryID 필드로 Categories 테이블과 Products 테이블을 조인하는 방법을 보여 줍니다. 쿼리는 생산품이 없는 종류를 포함하여 모든 종류의 목록을 나타냅니다.
SELECT CategoryName,
ProductName
FROM Categories LEFT JOIN Products
ON Categories.CategoryID = Products.CategoryID;
이 예제에서, CategoryID는 조인된 필드이지만 SELECT 문에 포함되어 있지 않으므로 쿼리 결과에는 나타나지 않습니다. 조인 필드를 포함시키려면 SELECT 문에 필드 이름을 입력하십시오. 위의 예제의 경우에는 Categories.CategoryID가 됩니다.
--------------------------------------------------------------------------------
메모
조인된 필드의 데이터가 동일한 레코드만 포함하는 쿼리를 작성하려면 INNER JOIN 연산을 사용하십시오.
LEFT JOIN이나 RIGHT JOIN 문은 INNER JOIN 문에 중첩 사용할 수 있으나 INNER JOIN 문은 LEFT JOIN이나 RIGHT JOIN 문에서 중첩될 수 없습니다. 다른 조인에서 조인을 중첩 사용하는 방법은 INNER JOIN 항목에서 중첩을 참조하십시오.
여러 개의 ON 절을 연결할 수 있습니다. 방법은 INNER JOIN 항목에서 절 연결을 참조하십시오.
Memo나 OLE 개체 데이터가 있는 필드를 조인하면 오류가 발생합니다.
--------------------------------------------------------------------------------
참고
FROM 절(Microsoft Jet SQL) UNION 연산(Microsoft Jet SQL)
INNER JOIN 연산(Microsoft Jet SQL)
예제
LEFT JOIN, RIGHT JOIN 연산 예제
INNER JOIN 연산
공통 필드에 일치하는 값이 있을 때 두 테이블의 레코드를 결합합니다.
구문
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2
INNER JOIN 연산은 다음과 같은 구성 요소로 되어 있습니다.
구성 요소 설명
table1, table2 레코드를 결합할 테이블 이름.
Field1, field2 조인할 필드 이름. 숫자가 아닌 경우는 필드의 데이터 형식이 같아야 하지만 동일한 이름일 필요는 없습니다.
Compopr 관계 비교 연산자: "=," "<," ">," "<=," ">=," "<>."
참고
FROM 절에 INNER JOIN 연산자를 사용할 수 있습니다. 가장 일반적인 조인 형식으로, 두 테이블의 공통된 필드의 값이 일치하는 경우 두 테이블의 레코드를 결합합니다.
Departments 및 Employees 테이블에 내부 조인을 사용하여 각 부서의 직원을 모두 선택할 수 있습니다. 이와 반대로 모든 부서(직원이 없는 부서 포함)나 모든 직원(소속 부서가 없는 직원 포함)을 선택하려면 LEFT JOIN, RIGHT JOIN을 사용하여 외부 조인을 작성할 수 있습니다.
Memo나 OLE 개체 데이터가 있는 필드를 조인하면 오류가 발생합니다.
형식이 같은 숫자 필드 두 개를 조인할 수 있습니다. 예를 들면, 일련 번호 필드와 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.field1 compopr table2.field1 AND
ON table1.field2 compopr table2.field2) OR
ON table1.field3 compopr table2.field3)];
다음 구문을 사용하면 JOIN 문을 중첩시킬 수도 있습니다.
SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;
LEFT JOIN이나 RIGHT JOIN 문은 INNER JOIN 문 안에 중첩될 수 있으나 INNER JOIN 문은 LEFT JOIN이나 RIGHT JOIN 문 안에 중첩될 수 없습니다.
참고
FROM 절(Microsoft Jet SQL) TRANSFORM 문(Microsoft Jet SQL)
LEFT JOIN, RIGHT JOIN 연산(Microsoft Jet SQL) UNION 연산(Microsoft Jet SQL)
SELECT 문(Microsoft Jet SQL)
예제
INNER JOIN 연산 예제
참고하십시요......