2016년 10월 31일 월요일

69day / Framework / MyBatis & Join

https://dsin.wordpress.com/2013/03/16/sql-join-cheat-sheet/
EQUI JOIN / NON-EQUI JOIN / SELF JOIN / OUTER JOIN


기존에 배운 join + 추가 join + MyBatis에서의 활용을 배웠다

  • Join이란 

Oracle은 관계형 데이터베이스이기 때문에 다양한 정보들이 여러 테이블에 분산되어 있다. 
때문에 각 테이블끼리는 서로 특정한 규칙이나 관계가 있도록 설계되어 있다. 
여러 곳에 분산되어 있는 데이터들 중에서 사용자가 원하는 데이터를 모두 찾으려면 
여러 테이블을 다 조회해야 한다.

EQUI JOIN
조인 대상이 되는 두 테이블에서 공통적으로 존재하는 컬럼의 값이
일치되는 행을 연결하여 결과를 생성하는 조인 기법이다.

NON-EQUI JOIN
동일 컬럼이 없이 다른 조건을 사용하여 조인 쓰인다.

Outer JOIN
일반적인 조인은 테이블간의 컬럼에 일치되는 값이 없으면 데이터 조회가 안된다 
↳ 조인 조건에 만족하지 않는 행도 나타내는 조인 기법
예를 들면 부서 정보는 10,20,30,40 이 있지만
40번 부서는 사원 정보가 없으므로
사원과 부서의 equi join 시에
40번 부서에 대한 정보는 조회되지 않는다
이와 같이 일반적인 조인으로는 조회되지 않는
 정보까지 모두 조회하기 위해 Outer Join을 사용한다.
( 사원이 없는 부서의 정보까지 함께 조회하기 위해 사용 )

해결방법
join 조건에 (+) 을 명시 ( 조인시킬 값이 없는 측에 표기 ) 

SELECT column ...
FROM table1,table2
WHERE table1.컬럼 (+)= table2.컬럼

Self JOIN
자기 자신과 조인을 하는 기법이다.
조인은 서로 다른 두 개의 테이블을 연결하기도 하지만
하나의 테이블 내에서 조인을 해야만 자료를 얻을 수 있는 경우에 쓰인다.

Related Posts:

  • 32day / WEB / Javascript 자바스크립트(JavaScript)란? 객체 기반의 스크립트 프로그래밍 언어이다. 웹브라우저 내에서 주로 사용되는 스크립트 언어로 분류가 되며 그저 단순한 용도로만 쓰이는 언어라는 인식이 좀 있으나 그건 옛날 얘기일뿐이다.  웹브라우저뿐만아니라 서버… Read More
  • 53day / WEB / Model2 게시판 (Paging) 51Day게시판 + Subquery적용하여 게시판 Paging하기! 구동화면 미리 정해놓은 갯수를 초과하면다음 페이지로 이동하는 a태그 화살표를 생성한다. 다음 페이지로 이동했을 때는 이전 페이지 화살표를 만들어준다. 추가된 부분… Read More
  • 51day / WEB / Model2 게시판 만들기 # 주위 : 개인적인 낙서판 같은 블로그이지만 어쩌다가 들어오셔서 참고하시게 된다면 참고만 하시길 바랍니다. 기초가 많이 부족한 쓰레기 코드입니다. 구동화면 초기화면 글 목록 글 제목을 클릭하면 NO 컬럼의 PK값과 함께 상세글보기로 이동한다… Read More
  • 28day / DB / CRUD Radzishevskyi Sergey blog 수업내용이 27Day와 별반 차이가 없어 CRUD 예제로 대체. CRUD(create, read, update, delete) Create (insert) Insert a s… Read More
  • 31day / WEB / HTML W3C (world wide web consortium)  : 월드 와이드 웹을 위한 표준을 개발하고 장려하는 조직 HTML :  HyperText Markup Language  HTTP : HyperText Transfe… Read More

0 개의 댓글:

댓글 쓰기