본문 바로가기

Oracle/SQL

SQL ANSI /ISO STANDARD JOIN - ON 절 대신 USING 절 이용

From 절 작성후 using 절 컬럼명 작성할 때 테이블 별칭을 붙여 작성하면 안된다. 그냥 컬럼명 그대로 작성 할 것 

on 절 대신에 Using 절을 사용하며 Using 절에 (괄호) 를 반드시 사용한다. - ON 절과 같음 

공통된 컬럼에 별칭을 쓰지않아 코딩이 직관적이지 않아서 잘 사용하지 않는 문법 이다.

예제 직업이 salesman 인 사원들의 부서번호, 이름, 직업, 월급, 지역을 출력  

using 절에 emp 테이블과 dept테이블의 공통 컬럼인 deptno 를 작성해 주었다. 

공통 컬럼을 작성할때에는 테이블 별칭을 쓰면 안된다. ( using 절과 select 절 모두 해당 ) 

select deptno, e.ename, e.job, s.sal, d.loc
from emp e join dept d
using (deptno)
where e.job = 'SALESMAN';

문제 314 emp14 와 telecom_service 에서 이름,통신사,통신비 출력 성이 김씨인 학생들만

select e.ename, telecom , t.price
from emp14 e join telecom_servie t
using(telecom)
where ename like '김%';

 

연결고리가 되는 TELECOM 의 경우 using 절 뿐만 아니라 select 절에도 테이블 별칭을 사용하지 않았다. 
그리고 where 절에는 중첩 되지 않은 컬럼을 쓰는것이 쿼리 실행 속도에 좋다. 
중첩된 컬럼이란 where substr(ename , 1,1 ) = '김' ;

-> 이처럼 ename 에 substr 함수가 중첩된것이다.