-
[MySQL] 조인JOIN 으로 테이블 결합하기 (INNER JOIN, LEFT JOIN, RIGHT JOIN직접 해보기/SQL 2024. 8. 10. 01:07728x90반응형
0️⃣ 조인JOIN 으로 테이블 결합하기
- JOIN은 테이블 간의 관계를 이용해서, 2개 이상의 테이블을 결합하는 SQL 명령어입니다.
- 테이블 간의 관계가 있다는 것은 곧, 테이블 간 연결이 가능하다는 의미입니다.
- 그리고 테이블 간 연결은, 한 테이블의 PK(기본키)가 다른 테이블의 FK(외래키)로 들어가 있어서 가능한 것입니다.
- 다시 말해, 2개 이상의 테이블 간에 공통된 값이 있다는 뜻입니다.
1️⃣ 내부조인 INNER JOIN
- INNER JOIN은 두 테이블 간의 공통값이 매칭되는 데이터만 결합해서 조회해주는 조인 명령어입니다.
따라서 양측 테이블에서 매칭되지 않는 데이터는 전부 제외됩니다. - 공통값을 찾을 열은 ON 뒤에 지정합니다.
아래에선 customer의 회원번호 열과 sales의 회원번호 열이 일치하면 결합하도록 지정했습니다.
- 아래는 3개 테이블을 INNER JOIN 해본 예시입니다.
2️⃣ 외부조인 OUTER JOIN — LEFT JOIN & RIGHT JOIN
- OUTER JOIN은 위의 INNER JOIN과 다르게, 매칭되지 않는 데이터도 포함해서 결합해줍니다.
- LEFT JOIN으로 결합한 결과 = INNER JOIN 결과 + 왼쪽 테이블의 모든 데이터
따라서 오른쪽 테이블에선 매칭되는 값이 없는 경우가 생깁니다. 이 경우 NULL값으로 출력됩니다. - RIGHT JOIN으로 결합한 결과 = INNER JOIN 결과 + 오른쪽 테이블의 모든 데이터
마찬가지로 왼쪽 테이블에서 매칭되는 값이 없으면, 아래와 같이 NULL값으로 출력됩니다.
참고1: boostcourse 강좌 (기초 데이터 분석을 위한 핵심 SQL)
참고2: https://buly.kr/EI1ztrP728x90반응형'직접 해보기 > SQL' 카테고리의 다른 글
[MySQL] 뷰VIEW 생성, 수정, 삭제하기 (CREATE VIEW, ALTER VIEW, DROP VIEW) (0) 2024.08.12 [MySQL] 서브쿼리Subquery 활용해 데이터 조회하기 (0) 2024.08.10 [MySQL] SELECT문으로 데이터 조회하기 (FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY) (0) 2024.08.09 [SQL TCL] 트랜잭션Transaction, 실행Commit, 취소Rollback, 임시저장Savepoint (0) 2024.08.08 [SQL DML] SQL 데이터 삽입INSERT, 조회SELECT, 수정UPDATE, 삭제DELETE (0) 2024.08.07 - JOIN은 테이블 간의 관계를 이용해서, 2개 이상의 테이블을 결합하는 SQL 명령어입니다.