행위

"Oracle CROSS APPLY Join"의 두 판 사이의 차이

DB CAFE

 
1번째 줄: 1번째 줄:
CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다.  
+
# Ansi SQL 구현(SQL1999 standard)
왼족 Join 테이블에서 모든 행을 리턴하며,  오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴됩니다.
+
# Cross apply => inner join , Outer apply => Left outer join
APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있습니다.
+
# Cross / Outer apply 사용시 lateral 키워드는 사용할수 없음
아래의 예는 상호 연관된 인라인보기를 사용합니다.
+
# CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다.  
 +
# 왼쪽 Join 테이블에서 모든 행을 리턴하며,  오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴
 +
# APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있음
  
 
<source lang=sql>
 
<source lang=sql>

2023년 1월 30일 (월) 16:33 기준 최신판

thumb_up 추천메뉴 바로가기


  1. Ansi SQL 구현(SQL1999 standard)
  2. Cross apply => inner join , Outer apply => Left outer join
  3. Cross / Outer apply 사용시 lateral 키워드는 사용할수 없음
  4. CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다.
  5. 왼쪽 Join 테이블에서 모든 행을 리턴하며, 오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴
  6. APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있음
SELECT department_name, employee_id, employee_name
FROM   departments d
       CROSS APPLY (SELECT employee_id, employee_name
                    FROM   employees e
                    WHERE  salary >= 2000
                    AND    e.department_id = d.department_id)
ORDER BY 1, 2, 3;