>데이터 베이스 >MySQL 튜토리얼 >Oracle의 ' ' 연산자와 WHERE 절은 어떻게 외부 조인을 생성합니까?

Oracle의 ' ' 연산자와 WHERE 절은 어떻게 외부 조인을 생성합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-06 19:14:45959검색

How Do Oracle's

Oracle WHERE 절의 외부 조인: " " 연산자

Oracle 데이터베이스에서 " " 연산자는 WHERE 절 내에서 사용할 수 있습니다. 두 테이블 간의 외부 조인을 지정합니다. 외부 조인을 사용하면 두 테이블 모두에서 일치하는 레코드뿐 아니라 테이블 중 하나에만 존재하는 레코드도 검색할 수 있습니다.

구문

WHERE 절의 " " 연산자는 다음과 같습니다. 다음:

WHERE Table1.Column = Table2.Column(+)

기능

"=" 기호 왼쪽에 " " 연산자가 나타나면 LEFT OUTER JOIN을 나타냅니다. 즉, Table2에 일치하는 레코드가 있는지 여부에 관계없이 Table1의 모든 레코드가 반환됩니다. Table2의 일치하지 않는 레코드는 조인된 열에 대해 null 값과 함께 반환됩니다.

반대로, "=" 기호 오른쪽에 " " 연산자가 나타나면 RIGHT OUTER JOIN을 나타냅니다. 이 경우 Table1에 일치하는 레코드가 없더라도 Table2의 모든 레코드가 반환됩니다. Table1의 일치하는 레코드는 결과에 포함되지만 일치하지 않는 레코드는 null 값을 갖습니다.

다음 쿼리를 고려하세요.

SELECT
    Table1.Category1,
    Table1.Category2,
    count(*) as Total,
    count(Tab2.Stat) AS Stat
FROM Table1, Table2
WHERE (Table1.PrimaryKey = Table2.ForeignKey(+))
GROUP BY Table1.Category1, Table1.Category2

이 쿼리는 PrimaryKey 및 ForeignKey 열을 기반으로 Table1과 Table2 사이에 LEFT OUTER JOIN을 수행합니다. Table1의 모든 레코드는 Table2에 일치하는 레코드가 없더라도 결과에 포함됩니다. Table2에서 일치하지 않는 레코드의 경우 Stat 열은 null이 됩니다.

권장 사항

Oracle에서는 외부 조인을 생성하는 데 " " 연산자를 사용할 수 있지만 일반적으로 다음과 같습니다. 오래된 것으로 간주되어 최신 조인 구문만큼 읽기 쉽지 않습니다. 대신 더 명확하고 직관적인 조인 의미를 제공하는 LEFT JOIN 또는 RIGHT JOIN을 사용하는 것이 좋습니다.

위 내용은 Oracle의 ' ' 연산자와 WHERE 절은 어떻게 외부 조인을 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.