오라클 outer join 예제

T1 및 T2 테이블의 행 쌍이 조인 조건어를 충족하는 경우 쿼리는 두 테이블의 행의 열 값을 결합하고 결과 집합에 이 행을 포함합니다. 위의 예제에서 AUTHOR 테이블은 왼쪽에 있고 왼쪽 외부 조인을 사용하므로 AUTHOR 테이블의 모든 행과 book_author 테이블의 일치하는 행을 가져옵니다. 이제 클라크와 저 저자가 모두 나열되고 book_key 열이 NULL입니다. 표준 Oracle 형식에서는 외부 조인이 혼동될 수 있습니다. 다음은 표준 Oracle 형식의 동일한 쿼리입니다. 내부 조인 … Using는 기존의 INNER 조인과 내추럴 조인 사이의 거의 절반 의 집입니다. 조인은 각 테이블에 이름이 일치하는 열을 사용하여 만들어지지만 전체 조건이 아닌 사용할 열을 지정해야 합니다. 이렇게 하면 두 테이블에 공통적인 열의 하위 집합에 조인할 수 있습니다. Oracle Inner JOIN 문을 사용하면 조인 조건과 일치하는 경우에만 두 테이블에서 행을 검색할 수 있지만 Oracle Outer JOIN 문은 두 번째 테이블에 일치하는지 여부에 관계없이 테이블 중 하나 이상의 모든 행을 검색합니다. 조인은 여러 테이블의 데이터를 결합하여 단일 결과 집합을 형성하는 데 사용됩니다.

오라클은 테이블에 가입하는 방법에 대해 두 가지 접근 방식인 비 ANSI 조인 구문과 ANSI 조인 구문(매우 다르게 보이는 구문)을 제공합니다. 모든 조인 조건을 지정해야 하므로 ANSI가 아닌 경우이와 동일합니다. ANSI가 아닌 조인 구문은 역사적으로 오라클에서 조인을 수행하는 방식이었으며 오늘날에도 여전히 매우 인기가 있습니다. 조인할 테이블은 FROM 절에 나열되고 조인 조건은 WHERE 절의 조건자로 정의됩니다. 당신이 그것을 좋아하지 않는 경우에도, 당신은 여전히 그것을 사용하는 코드가 많이 있기 때문에 익숙해해야합니다. 구문에 익숙하지 않은 경우 기존 코드를 버그 수정하는 데 어려움을 겪을 것이며 인터넷의 일부 예제는 다소 신비하게 보일 것입니다. 다음 예제는 ?suppliers의 모든 행을 반환합니까? 테이블과 ?order1의 모든 행? 참이면 조인 조건이 충족되지 않을 때마다 NULL 값을 배치합니다.