본문 바로가기
프로그래밍/DB

sql 기본문법 간단 정리3

by -현's- 2012. 1. 9.
반응형

●조인(join) - 여러개의 테이블이나 뷰를 연결하는 것, 교차조인, 내부조인, 외부조인이 있다

●교차조인(cross join) - 여러개의 테이블이나 뷰에 있는 모든행을 단순히 조인하는 방법
ex)
select * from tab1 cross join tab2;
=select * from tab1, tab2;         //cross join대신 ',' 써도 된다

tab1

 id price 
 1  100
 2  200
tab2
 id name 
 1  a
 2  b
결과
 id  price id name 
 1  100  1
 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
tab2
 no age 
 1 10 
 2  20
 4  30
결과
 id name  no  age 
 1  10
 2  b  2  20


●외부조인 - 내부조인의 결과에 덧붙여 일치하지 않은 데이터도 가져오는 방법(왼쪽 외부조인, 오른쪽 왼부조인, 전체 외부조인이 있다)

●왼쪽 외부조인 - 왼족 테이블을 기주능로 조인, 오른쪽 테이블에 일치하는 값이 없어도 왼쪽 테이블의 데이터는 모두 가져온다
ex)
select * from tab1 left join tab2 on id=no;

tab1
id name 
1
2
3
tab2
no age
1 10 
2 20 
4 30
결과
 id name  no  age 
1 a 10 
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
tab2
no  age
10 
20
30
결과
id name no  age 
a 10 
b 2  20
null  null  4  30


●전체 외부조인 - 오른쪽 외부조인과 왼쪽 외부조인을 합친 것
ex)
select * from tab1 full join tab2 on id=no;

tab1
id name 
b
c
tab2
no age
10 
20
30
결과
id name  no  age 
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

댓글