[조인 할 테이블]
CollageHoldLecture_Temp: collage 테이블과 lecture을 조인하기 위한 연결고리가 되는 테이블
collage: 대학
lecture: 과목
원하는 결과는 collage 테이블과 lecture 테이블에 있는 데이터지만
collage의 idx와 lecture의 idx를 조인하기 위해서
연결고리 테이블인 CollageHoldLecture_Temp 이 필요하다!
조인이 생각하기 헷갈리다면 집합을 생각한다면 이해하기 쉽다.
처음 작성한 테이블 조인
문제점
- inner join은 서로가 일치하는 결과만 가져 온다.(교집합)
- 기준이 되는 테이블이 모호해지면 원하지 않는 결과를 가져온다.
수정한 테이블 조인
수정된 점
- inner join → left outer join(왼쪽테이블 + 교집합)
select ROW_NUMBER() OVER (Order by c.idx asc), c.idx, b.idx
from 테이블1 as a
left outer join 테이블2 as b
on a.lecIdx = b.lectureName
left outer join 테이블3 as c
on a.colName = c.colName
where b.idx is not null //b.idx가 null값이 아닌!
order by c.idx asc
'MSSQL' 카테고리의 다른 글
MSSQL 컬럼명 변경 (0) | 2011.02.22 |
---|---|
where(조건)에서 case문 사용하기 (0) | 2011.01.28 |
★ 게시판을 만들어 보자_File_Upload & Download_board (0) | 2011.01.08 |
distinct_중복제거하여 출력하기 & join_테이블 연결하기 (0) | 2011.01.08 |
RowNumber & Top (0) | 2010.12.26 |