반응형
●조인(join) - 여러개의 테이블이나 뷰를 연결하는 것, 교차조인, 내부조인, 외부조인이 있다
●교차조인(cross join) - 여러개의 테이블이나 뷰에 있는 모든행을 단순히 조인하는 방법
ex)
select * from tab1 cross join tab2;
=select * from tab1, tab2; //cross join대신 ',' 써도 된다
tab1
id | price |
1 | 100 |
2 | 200 |
id | name |
1 | a |
2 | b |
id | price | id | name |
1 | 100 | 1 | a |
2 | 200 | 1 | a |
1 | 100 | 2 | b |
2 | 200 | 2 | b |
●내부조인 - 지정한 열의 값이 일피하는 행만 가져오는 방법, 조인하고 싶은 테이블끼리 inner join으로 연결하고 on이하에서 어떤 열을 기준으로 데이터를 일치시킬지 지정
ex)
select * from tab1 inner join tab2 on id=no;
=select * from tab1, tab2 where tab1.id=tab2.no;
tab1
id | name |
1 | a |
2 | b |
3 | c |
no | age |
1 | 10 |
2 | 20 |
4 | 30 |
id | name | no | age |
1 | a | 1 | 10 |
2 | b | 2 | 20 |
●외부조인 - 내부조인의 결과에 덧붙여 일치하지 않은 데이터도 가져오는 방법(왼쪽 외부조인, 오른쪽 왼부조인, 전체 외부조인이 있다)
●왼쪽 외부조인 - 왼족 테이블을 기주능로 조인, 오른쪽 테이블에 일치하는 값이 없어도 왼쪽 테이블의 데이터는 모두 가져온다
ex)
select * from tab1 left join tab2 on id=no;
tab1
id | name |
1 | a |
2 | b |
3 | c |
no | age |
1 | 10 |
2 | 20 |
4 | 30 |
id | name | no | age |
1 | a | 1 | 10 |
2 | b | 2 | 20 |
3 | c | null | null |
●오른쪽 외부조인 - 오른쪽 테이블을 기준으로 조인
ex)
select * from tab1 right join tab2 on id=no;
tab1
id | name |
1 | a |
2 | b |
3 | c |
no | age |
1 | 10 |
2 | 20 |
4 | 30 |
id | name | no | age |
1 | a | 1 | 10 |
2 | b | 2 | 20 |
null | null | 4 | 30 |
●전체 외부조인 - 오른쪽 외부조인과 왼쪽 외부조인을 합친 것
ex)
select * from tab1 full join tab2 on id=no;
tab1
id | name |
1 | a |
2 | b |
3 | c |
no | age |
1 | 10 |
2 | 20 |
4 | 30 |
id | name | no | age |
1 | a | 1 | 10 |
2 | b | 2 | 20 |
null | null | 4 | 30 |
3 | c | null | null |
반응형
'프로그래밍 > DB' 카테고리의 다른 글
오라클 개행문자 제거해서 select 하기 (0) | 2015.02.09 |
---|---|
mySQL 페이징 쿼리문 (0) | 2012.03.18 |
sql 기본문법 간단 정리4 (0) | 2012.01.10 |
sql 기본문법 간단 정리2 (0) | 2012.01.09 |
sql 기본문법 간단 정리1 (0) | 2012.01.08 |
댓글