Ansi 조인
Sql은 국제적 표준이 존재하는데, 그 표준 중의 하나가 바로 Ansi표준이다.
- DBMS발전에 비해서 Sql 표준이 늦게 제정되었기 때문인지 오라클을 비롯한 여러 DBMS에서는 ANSI나 ISO 표준이 제정될 때부터 엄격히 지원하지 않은 것이 사실이다. -Oracle 책 내용중에-
ANSI 외부조인의 무법
[형식]
FROM TABLE A [Left | Right | Full ] OUTER JOIN B
기존 문법에서 외부조인을 할 때는 다음과 같이 조인에 참여하는 테이블 중 데이터가 없는 테이블쪽에(+) 기호를 붙였다.
ANSI 조인에서는 어느 테이블 쪽에 데이터가 없는지를 나타내기 위해서 LEFT 혹은 RIGHT 구문을 사용한다.
EX
1. FROM employess emp LEFT OUTER JOIN job_history his ON emp.employee_id = his.employee_id
2. FROM employess emp RIGHT OUTER JOIN job_history his ON emp.employee_id = his.employee_id
LEFT OUTER JOIN
기존 : FROM employess emp , job_history his WHERE emp.employee_id = his.employee_id(+)
ANSI : FROM employess emp LEFT OUTER JOIN job_history his ON emp.employee_id = his.employee_id
RIGHT OUTER JOIN
기존 : FROM employess emp , job_history his WHERE emp.employee_id(+) = his.employee_id
ANSI : FROM employess emp RIGHT OUTER JOIN job_history his ON emp.employee_id = his.employee_id
컬럼 조건이 동일한 경우 (USING 사용 가능)
FROM employess emp RIGHT OUTER JOIN job_history his USING(employee_id)
SELECT , ORDER BY 절에 공통 컬럼 사용시
"테이블명.컬럼명" 형태가 아니라 컬럼명만 명시해야한다.
'IT > oracle&mysql' 카테고리의 다른 글
pl/sql 파일 읽기/쓰기 (0) | 2016.09.14 |
---|---|
[Oracle]Connect By 와 Order SIBLINGS 사용 (0) | 2016.09.14 |
ORACLE 세션테이블 TEMPORARY TABLE 생성 (0) | 2016.03.23 |
ORACLE 계층형 데이터 SYS_CONNECT_BY_PATH (0) | 2016.03.23 |
ORACLE 사용자 LOCK 및 로그인 패스워드 부여 (0) | 2016.03.23 |