-
SQL_Inner Join(Equi Join) & 테이블 별칭 부여Data Base_Oracle/SQL 2020. 1. 6. 22:01
Inner Join
- 검색하고자 하는 두 테이블의 레코드 총량이 비슷할 때 사용
- 두 테이블간의 교집합을 찾는 것
종류 설명 Equi Join 연관된 테이블에 동일한 칼럼이 있을 때 사용 Self Join 자기 자신의 table 내의 필드를 참조해서 데이터를 조회할 때 사용 Equi Join
동등 Join이라고 하며, 동일한 칼럼을 기준으로 데이터를 조회할 때 사용
where조건식에서 = 연산자를 사용함§ 형식
[ SQL> select 필드명, 필드명2, 테이블명.필드명,,,,
from 테이블명, 테이블명2,,,,
where 조건식 ]
※ where 조건식으로 중복된 데이터를 배제# 예제
▷ ALLEN의 사원번호, 이름, 부서번호, 부서이름, 부서위치 조회
부서번호가 같은 값을 조회해서 중복된 데이터를 배제▶ [ SQL> select empno, ename, emp.deptno, dname, loc from emp, dept
where emp.deptno=dept.deptno and ename='ALLEN'; ]EMPNO ENAME DEPTNO DNAME LOC 7499 ALLEN 30 SALES CHICAGO ※ emp테이블의 deptno와 dept테이블의 deptno가 같은 ALLEN의 데이터만 조회
Join에서 Table에 별칭을 부여하는 경우 _ 튜닝
튜닝 기법 중 하나로 검색 속도를 향상시킴
전제 조건
저장된 테이블의 레코드 수가 굉장히 많을 때
ex) 10,000 건 이상§ 형식
[ SQL> select 필드명, 필드명2, 별칭.필드명,,,,
from 테이블명 별칭, 테이블명2 별칭2,,,,
where 조건식 ]# 예제
▷ ALLEN의 사원번호, 이름, 부서번호, 부서이름, 부서위치 조회
부서번호가 같은 값을 조회해서 중복된 데이터를 배제▶ [ SQL> select e.empno, e.ename, e.deptno, d.dname, d.loc from emp e, dept d where e.deptno=d.deptno and e.ename='ALLEN'; ]
EMPNO ENAME DEPTNO DNAME LOC 7499 ALLEN 30 SALES CHICAGO ※ 예제에서는 데이터가 많지 않기 때문에 큰 차이는 없음
※ 두 테이블의 공통 필드 외에는 필드명 앞에 테이블명을 생략해도 됨
Inner Join은 Join에서 가장 많이 사용되며, 그 중에서도 Equi Join이 대부분의 비중을 차지하고 있기 때문에
Equi Join에 대해 확실히 아는 것은 중요하다고 할 수 있습니다.
Join을 할 때 테이블에 별칭을 부여하면 보다 편리하게 데이터를 조회하는 것이 가능합니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL_Non-Equi Join & Outer Join (0) 2020.01.06 SQL_Equi Join & Self Join (0) 2020.01.06 SQL_Join 개요 & Cross Join (0) 2020.01.06 SQL_Constraint Enable / Disable (0) 2020.01.06 SQL 제약조건 Foreign Key (0) 2020.01.04