다음을 통해 공유


외부 조인

ODBC는 SQL-92 왼쪽, 오른쪽, 완전 외부 조인 구문을 지원합니다. 외부 조인에 대한 이스케이프 시퀀스는 다음과 같습니다.

{oj outer-join}

여기서 외부 조인은 다음과 같습니다.

table-reference {LEFT | RIGHT | FULL} OUTER JOIN {table-reference | outer-join} ON search-condition

able-reference는 테이블 이름을 지정하고 search-conditiontable-references 간의 조인 조건을 지정합니다.

외부 조인 요청은 FROM 키워드 뒤와 WHERE 절 앞에 나타나야 합니다(있는 경우). 전체 구문 정보는 부록 C(SQL 문법의 외부 조인 이스케이프 시퀀스)를 참조하세요.

예를 들어 다음 SQL 문은 모든 고객을 나열하고 열려 있는 주문이 있는 것을 표시하는 동일한 결과 집합을 만듭니다. 첫 번째 문은 이스케이프 시퀀스 구문을 사용합니다. 두 번째 문은 Oracle에 대한 네이티브 구문을 사용하며 상호 운용할 수 없습니다.

SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status  
   FROM {oj Customers LEFT OUTER JOIN Orders ON Customers.CustID=Orders.CustID}  
   WHERE Orders.Status='OPEN'  
  
SELECT Customers.CustID, Customers.Name, Orders.OrderID, Orders.Status  
   FROM Customers, Orders  
   WHERE (Orders.Status='OPEN') AND (Customers.CustID= Orders.CustID(+))  

데이터 원본 및 드라이버에서 지원하는 외부 조인 유형을 확인하기 위해 애플리케이션은 SQL_OJ_CAPABILITIES 플래그를 사용하여 SQLGetInfo를 호출합니다. 지원될 수 있는 외부 조인 유형은 왼쪽, 오른쪽, 전체 또는 중첩된 외부 조인입니다. ON 절의 열 이름이 외부 조인은 OUTER JOIN 절의 해당 테이블 이름과 순서가 같지 않습니다. 외부 조인과 연결된 내부 조인 및 모든 ODBC 비교 연산자를 사용하는 외부 조인. SQL_OJ_CAPABILITIES 정보 형식이 0을 반환하면 외부 조인 절이 지원되지 않습니다.