SQL 조인 - 1999 ansi join

2020. 5. 7. 18:08·Programming/SQL
728x90

1. on 절을 사용한 조인

2. using절을 사용한 조인

3. left/right/full outer 조인

4. cross 조인

5. natural 조인


 

1. on절을 사용한 조인

 

예제) DALLAS에서 근무하는 사원의 이름과 부서위치를 출력하시오

select e.ename, d.loc
  from emp e join dept d
  on (e.deptno = d.deptno)
where d.loc = 'DALLAS';

on ( 조인조건 )

where 검색 조건

2. using절을 사용한 조인 

select e.ename, d.loc
from emp e join dept d
using (deptno);

-> using절에 연결고리가 되는 컬럼명을 테이블 별칭 없이 괄호 안에 적어주면 된다.

3. left/right/full outer 조인

  oracle 조인 문법 1999 ansi 조인 문법
right outer join select e.ename, d.loc
from emp e, dept d
where e.deptno (+) = d.deptno

select e.ename, d.loc
from emp e right outer join dept d
on (e.deptno = d.deptno);

left outer join select e.ename, d.loc
from emp e, dept d 
where e.deptno = d.deptno (+) 
select e.ename, d.loc
from emp e left outer join dept d
on (e.deptno = d.deptno);

full outer join x select e.ename, d.loc
from emp e full outer join dept d
on (e.deptno = d.deptno);

 

 

4.cross join - equi join에 조인 조건이 없는 조인의 결과와 같은 조인

select e.ename, d.loc
  from emp e, dept d;
select e.ename, d.loc
  from emp e cross join dept d

-> 위의 두개의 쿼리 결과가 같다. (조건이 없어서 전부 조인하기 때문에 거의 쓸 일 없음)

 

5. natural join - 두 테이블의 동일한 이름을 갖는 컬럼은 모두 조인 

select ename, loc
  from emp  natural join dept;
select e.ename, d.loc
  from emp e, dept d
  where e.deptno = d.deptno;

위의 두 쿼리의 결과는 같다.

 

 

'Programming/SQL' 카테고리의 다른 글
  • SQL 집합연산자
  • SQL 서브쿼리문
  • SQL 조인 - 오라클 조인
  • SQL 데이터 분석 함수
해치
해치
뭐라도 하자
  • 해치
    hi there
    해치
  • 글쓰기 관리자
  • 전체
    오늘
    어제
    • ALL (66)
      • Programming (62)
        • Python (14)
        • Linux (0)
        • SQL (13)
        • 알고리즘 (35)
      • Framework (3)
        • Docker (2)
        • Django (1)
      • AWS (0)
      • Dashboard (1)
  • 블로그 메뉴

    • 링크

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    해치
    SQL 조인 - 1999 ansi join
    상단으로

    티스토리툴바