행위

Oracle CROSS APPLY Join

DB CAFE

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;