source

SQL 쿼리에서 (+)의 의미

ittop 2023. 4. 2. 11:52
반응형

SQL 쿼리에서 (+)의 의미

Oracle에서 '(+)'을 포함하는 SQL 쿼리를 몇 개 발견했는데, 그 의미를 알 수 없습니다.그 목적을 설명하거나 사용 예를 들어줄 수 있는 사람이 있나요?감사해요.

오라클의 동의어입니다.OUTER JOIN.

SELECT *
FROM a, b
WHERE b.id(+) = a.id

과 같은 결과를 낳다

SELECT *
FROM a
     LEFT OUTER JOIN b
     ON b.id = a.id

+는 OUTER JOIN의 바로 가기입니다. 어느 쪽에 붙이느냐에 따라 왼쪽 또는 오른쪽의 Outer JOIN을 나타냅니다.

포럼 투고의 두 번째 엔트리에서 몇 가지 예를 확인하십시오.

조인하는 테이블이 반환되는 레코드의 양을 줄이지 않도록 하기 위해 사용합니다.따라서 참가하고 있는 모든 키에 대한 레코드가 없는 테이블에 참여할 때 편리합니다.

예를 들어 Customer and Purchase 테이블에 참여하고 있는 경우:

모든 고객과 고객의 모든 구매를 나열하려면 구매 테이블에서 외부 참여(+)를 수행하여 아무것도 구매하지 않은 고객이 보고서에 계속 표시되도록 합니다.

IIRC(+)는 이전 버전의 Oracle에서 사전 ANSI SQL join 구문의 외부 조인을 나타내기 위해 사용됩니다.즉, 다음과 같습니다.

select foo,bar
from a, b
where a.id = b.id+

와 동등하다

select foo,bar
from a left outer join b
on a.id = b.id

메모: ANSI 이전 SQL 구문을 사용한 적이 없기 때문에 이 구문은 약간 잘못되었을 수 있습니다.

언급URL : https://stackoverflow.com/questions/517557/meaning-of-in-sql-queries

반응형