본문 바로가기
Web programming/SQL & DB

JOIN

by Skilly 2020. 4. 17.

 

DBMS > 데이터 집중화 > (데이터 분리/관리) > 참초 > 조인 

 

 

JOIN은 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다.

조인은 테이블로서 저장되거나, 그 자체로 이용할 수 있는 결과를 만들어 낸다. 2개의 테이블에서 각각의 공통값을 이용함으로써 필드를 조합하는 수단이 된다. (위키피디아 참조)

 

분리되있는 데이터를 조인함으로서 원하는 데이터를 조회할 수 있는데

조회할 때, 관계된 데이터는 조인하고 그렇지 않은 객체는 아우터 조인을 작성하여 조회한다.

 

 

 

JOIN의 종류 

  • INNER JOIN
  • OUTER JOIN
  • CROSS JOIN
  • SELF JOIN
LEFT / RIGHT/ FULL ; 왼쪽/오른쪽을 기준으로 조인할지 방향을 정하거나, 전부 아우터 조인 할 것인지 정할 때 아우터 조인과 함께 쓴다.

 

 

 

- INNER JOIN 
: 기본 조인 형식으로 간주되는 이너 조인은 두 테이블에서 관계된 데이터만 조인하며, 참조키를 기준으로 데이터를 합한다.

 

explicit (명시적 조인 표현)

SELECT * FROM MEMBER INNER JOIN NOTICE ON MEMBER.ID = NOTICE.WRITER_ID;     

implicit (암시적 조인 표현)

SELECT * FROM MEMBER JOIN NOTICE ON MEMBER.ID = NOTICE.WRITER_ID;     

→ ON 절과 함께 작성하고, ON 뒤에는 참조키를 (서로 다른 테이블의 참조키에 =을 써서) 작성 

 

 

 

 

 

- OUTER JOIN 

: 참조키를 기준으로 일치하지 않는 행도 포함시킨다. 

SELECT * FROM MEMBER RIGHT OUTER JOIN NOTICE ON MEMBER.ID = NOTICE.WRITER_ID;

 

 

 

 

- CROSS JOIN

: 두 테이블에서 곱집합을 반환한다. 관계에 상관없이 크로스 조인하면 개수의 곱셈을 한다.

 

explicit (명시적 조인 표현) 

SELECT * FROM MEMBER CROSS JOIN NOTICE;

implicit (암시적 조인 표현)

SELECT * FROM MEMBER, NOTICE;

 

 

 

 

SELF JOIN

: 셀프 조인은 테이블 내에서 자기 자신에 조인을 시키는 것이다.

SELECT M.ID, M.NAME, B.NAME BOSS_NAME
FROM MEMBER M 
JOIN MEMBER B
ON B.ID = M.BOSS_ID;

 

 

 

 

 

 

 

반응형