2015. 1. 6. 22:53ㆍDB/DB기초
Join 을 간단하게 설명하면 여러 테이블을 쪼개고 붙여서 쓰는걸 Join이라고 한다.
단 하나의 일관성 있는 컬럼이 필요하다.
조인은 크게 3가지로 나누어지며 equal Join, Inner Join, Outer Join 으로 나눌수 있다.
1. Equal Join 은 일반적으로 사용하는 =을 쓰는걸 말한다.
2. Inner Join의 경우 두개의 테이블의 교집합이라고 보면 된다.
사용방법은
select orders.orderID,customers.customername,orders.orderdate
from orders inner join customers
on orders.customerid=customers.customerid;
위와 같이 쓸 수 있다.
일반적으로 테이블 명을 쓰는 from tableA inner join tableB on 조건으로 사용한다.
--- SQL INNER JOIN Syntax ---
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
on 뒤에는 어떤것이 교집합으로 들어갈지 선택해주어야 한다.
3. Outer Join은 Left Outer Join, Right Outer Join, Full Outer Join 또 이렇게 3가지로 나눌 수 있다.
결과는 왼쪽 테이블에 있는 데이터는 모두 표시하고 추가로 2번테이블의 정보를 표시하는 방식이다.
SELECT customers.customername, orders.orderid
FROM customers
LEFT JOIN Orders
ON customers.customerid=orders.customerid
ORDER BY customers.customername;
--- SQL LEFT JOIN Syntax ---
SELECT column_name(s)
FROM table1
LEFT (OUTER) JOIN table2
ON table1.column_name=table2.column_name;
이때 OUTER은 제외 할 수 있다.
SQL Join 들의 다른점
INNER JOIN : 두개의 테이블에서 적어도 하나이상 일치할경우 행을 반환한다.
LEFT JOIN : 오른쪽 테이블로 부터 왼쪽 테이블과 일치할경우 행을 반환한다.
RIGHT JOIN: 왼쪽 테이블로 부터 오른쪽 테이블과 일치할 경우 행을 반환한다.
FULL JOIN: 테이블의 모든값을 반환한다.
'DB > DB기초' 카테고리의 다른 글
[DB기초] 04. Between, Aliases (0) | 2014.12.28 |
---|---|
[DB기초] 03. IN 연산자 (0) | 2014.12.25 |
[DB기초] 02. Like (0) | 2014.12.24 |
[DB기초] 01. 검색수 레코드 제한하기!! (0) | 2014.12.23 |
[DB기초] 기초의 시작!! (0) | 2014.12.22 |