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;
반응형
'Web programming > SQL & DB' 카테고리의 다른 글
[MySQL] 기본 문법, Oracle SQL과의 차이 (0) | 2020.05.08 |
---|---|
[ORACLE SQL] 데이터 조회 기본 문법 !! (0) | 2020.05.08 |
SQL 페이징 (0) | 2020.04.16 |
집합 연산자로 데이터 레코드를 합하여 출력 (UNION, UNION ALL, INTERSECT, MINUS) (0) | 2020.04.16 |
DISTINCT 절과 GROUP BY 절의 차이 (0) | 2020.04.16 |