여러 테이블 조인 0 3 3,492

by 웁스 [Oracle 기초] [2011.06.04 14:38:51]


두 개의 테이블을 조인할 때에는 쉬운데 여러 개의 테이블을 조인하려고 하면 왜 이렇게 헷갈리는지 모르겠습니다.

집합적인 사고 방식으로 접근을 하면 이런 문제를 쉽게 해결할 수 있다고 하는데 혹시 여러분은 이와 같이 여러 개의 테이블을 조인하게 될 상황이 생긴다면 어떤 방법으로 하시나요?
by 현 [2011.06.05 00:40:06]
그게 참 어렵죠...?

차근차근 각 테이블별로 원하는 집합을 만들어 가시다 보면
해결을 하실 수 있습니다.
각 테이블별로 조인을 먼저 생각하시지 마시고,
원하는 데이터 집합을 생각하세요..

첨엔 참 어렵고 잘 안되는데요,
하다보면 잘 되실꺼에요....

by 허재영 [2011.06.05 13:30:14]
조인을 쉽게 하는 방법

1. 최우선은 각각 테이블 데이터및 구조를 먼저 파악하고 왜 여러개의 테이블로 찢어(정규화) 놨는지 관계를 파악합니다.
조인이 어렵다는 말은 sql실력이 없다는 말보다 각각 테이블의 데이터 관계를 파악하지 못한거에 가깝습니다.

2. 아래와 같이 inline view를 만들면 두개의 테이블씩 조인하는 결과를 가져옵니다.
사원테이블과 부서테이블을 먼저 조인하여 사원과 부서정보를 가지고 다시 job 테이블을 조인하여 사원의 직업을 볼수 있습니다.
한번에 여러개의 테이블을 나열해서 조인하려면 아무리 고수라고 해도 복잡해질수 밖에 없습니다.
select c.c, d.a, d.b from c
(
select a.a, b.b from a, b
where a.a = b.b
) d
where c.c = d.a

3. 2번에서 사용한 inline view를 저장하면 view가 되죠. view는 저장된 sql입니다.
view 특징중에 복잡한 쿼리를 쉽게 만들어 주는 특징이 있습니다.
미리 만들어 놓으면 쉽고, 편리하게 사용할수있다는 의미이겠죠.
자주사용되거나 복잡한 쿼리는 뷰로 만들어서 사용하면 편리해집니다.


by 웁스 [2011.06.06 13:35:34]
감사합니다.
도움이 되었네요. ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입