1. Join 조인
1-1. Join 조인이란 ?
- 두 개 이상의 테이블을 서로 연결하여 데이터를
검색할 때 사용하는 방법으로 두 개의 테이블을
마치 하나의 테이블인 것처럼 보여주는 것
1-2 . Join의 기본 사용 방법
1-3. inner join
- 각 테이블에 조인 조건에 일치되는 데이터만
가져온다.
- Inner join은 교집합이라고 말한다.
select * from table_A t1
inner join table_B t2
1-4. outer join
-
조인 조건에 일치하는 데이터 및 일치하지 않은
데이터를 모두 select한다.
-
조인 조건이 일치하는 데이터가 없다면 NULL로
가져온다.
-
Outer Join 은 Inner join과 다르게 주(main)
테이블이 어떤 테이블인지가 중요하다. 그래서
어떤 테이블이 중심이 되느냐에 따라 다시
Left Outer Join, Right Outer Join, Full Outer Join으로
세분화 할 수 있다.
-
Left Outer Join 은 왼쪽에 있는 테이블이,
Right Outer Join은 오른쪽에 있는 테이블이,
Full Outer Join은 양쪽 테이블이 모두가 중심(주)이라는 뜻이다.
1-5. Left Outer Join
- 왼쪽 테이블이 기준이 된다.
- 조인 조건에 부합하는 데이터가 조인 당하는 테이블(오른쪽)에 있으면
해당 데이터를, 부재하면 NULL로 select 된다.
select * from table_A t1
left outer join table_B t2
1-6. Right Outer Join
- 오른쪽 테이블이 기준이 된다.
- 조인 조건에 부합하는 데이터가 조인 당하는 테이블(왼쪽)에 있으면
해당 데이터를, 부재하면 NULL로 select 된다.
select * from table_A t1
rigth outer join table_B t2
1-7. full outer join
- 양쪽 테이블이 기준이 된다.
- 조인 조건에 부합하는 데이터가 조인 당하는
테이블(왼쪽or오른쪽)에 있으면
해당 데이터를, 부재하면 NULL로 select 된다.
select * from table_A t1
full outer join table_B t2
1-8. ANSI Join vs Oracle Join
- SQL은 데이터베이스를 관리하기 위해 만들어진
프로그래밍 언어이며, 데이터베이스를 관리해주는
대부분의 DBMS들은 SQL을 사용한다. 물론 DBMS자체의
특수성 때문에 SQL의 사용법이 조금씩 다르기도 하지만
큰 틀에서 보면 나름대로의 보편성을 가지고 있다.
- ANSI 미국 국립 표준 협회에서도 SQL에
대한 보편적인 문법을 제시하고 있는데, 그것이
바로 ANSI Query이다. Join도 마찬가지로
ANSI문법을 사용하는 경우가 대부분이다.
2.서브쿼리(subQUery)
2-1. 서브쿼리란?
- Main Query에 반대되는 개념으로 이름을 붙인것
- 메인쿼리를 구성하는 소단위 커리
- select, insert, delete, update 절에서 모두 사용 가능
- 서브 쿼리의 결과 집합을 메인 쿼리가 중간 결과
값으로 사용
- 서브쿼리 자체는 일반 쿼리와 다를 바가 없다.