행위

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

DB CAFE

(새 문서: <source lang=sql> SELECT department_name, employee_id, employee_name FROM departments d CROSS APPLY (SELECT employee_id, employee_name FROM employees e...)
 
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
 +
# Ansi SQL 구현(SQL1999 standard)
 +
# Cross apply => inner join , Outer apply => Left outer join
 +
# Cross / Outer apply 사용시 lateral 키워드는 사용할수 없음
 +
# CROSS APPLY 조인은 ANSI CROSS JOIN의 변형입니다.
 +
# 왼쪽 Join 테이블에서 모든 행을 리턴하며,  오른쪽 테이블 참조 또는 콜렉션 표현식에 의해 적어도 하나의 행이 리턴
 +
# APPLY의 오른쪽은 FROM 절의 컬럼을 왼쪽으로 참조 할 수 있음
 +
 
<source lang=sql>
 
<source lang=sql>
 
SELECT department_name, employee_id, employee_name
 
SELECT department_name, employee_id, employee_name
8번째 줄: 15번째 줄:
 
ORDER BY 1, 2, 3;
 
ORDER BY 1, 2, 3;
 
</source>
 
</source>
 +
[[Category:oracle]]

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;