DB, SQL

MySQL JOIN

2023. 10. 3. 19:54
목차
  1. JOIN
  2. 내부 조인
  3.  1:N 관계
  4. 문법
  5. 외부 조인
  6. 상호 조인
  7. 자체 조인

JOIN

  • 두개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것
  • 두개 이상의 테이블을 묶어서 조인 할 수도 있음

내부 조인

  • 두 테이블을 연결할 때 가장 많이 사용됨
  • 그냥 JOIN을 INNER JOIN을 의미함

 1:N 관계

  • 두개의 테이블을 조인하기 위해서는 일대다( One to Many)관계로 연결 되어야함
  • 한쪽 테이블에는 1개의 값만 존재하지만 연결된 다른 테이블에는 여러개의 값이 존재할 수 있음
  • EX) 회원 테이블의 회원정보는 각자의 고유한 회원의 정보를 담고있음 => 1 구매 테이블의 구매정보는 한명의 구매기록이 여러번 존재할 수 있기때문에 => N
  • 기본키(PK)와 외래키(FK)관계로 맺어져 있음

문법

  • 두개의 테이블에서 모두 존재하는 행을 반환함
SELECT 컬럼
FROM 첫번째 테이블
INNER JOIN 두번째 테이블
ON 조인될 조건;

외부 조인

LEFT JOIN

  • 내부 조인과 다르게 한쪽에만 데이터가 있어도 결과를 출력함
  • 오른쪽 테이블에 빈값 발생시 NULL로 컬럼을 채움
  • LEFT OUTER JOIN (LEFT JOIN)은 왼쪽테이블의 내용은 모두 출력되어야함
SELECT *
FROM 테이블1 //기준이 되는 테이블 (왼쪽 테이블)
LEFT | RIGHT | FULL JOIN 테이블2
ON 테이블1.열 = 테이블2.열;

RIGHT JOIN

  • LEFT조인과 동일함, 오른쪽에 있는 테이블을 기준으로 테이블을 조인함
  • RIGHT OUTER JOIN( RIGHT JOIN )은 오른쪽테이블의 내용은 모두 출력되어야함
SELECT *
FROM 테이블1 //기준이 되는 테이블 (왼쪽 테이블)
LEFT | RIGHT | FULL JOIN 테이블2
ON 테이블1.열 = 테이블2.열;

FULL OUTER JOIN

  • LEFT조인과 RIGHT 조인을 합친것
  • 왼쪽 테이블이나 오른쪽 테이블 둘중 한 테이블에 존재하기만해도 데이터를 출력함
SELECT *
FROM 테이블1 //기준이 되는 테이블 (왼쪽 테이블)
LEFT | RIGHT | FULL JOIN 테이블2
ON 테이블1.열 = 테이블2.열;

상호 조인

  • CROSS JOIN은 한쪽테이블의 모든행과 다른 쪽 테이블의 모든행을 조인 시키는 조인
  • 테이블1 행 갯수 X 테이블2 행 갯수 = 조인결과 행 갯수
  • 상호 조인을 카티션 곱이라고도 함
  • ON 구문을 사용할 수 없다
  • 테스트용 데이터나 대용량 데이터를 생성할 떄 사용
SELECT *
FROM 테이블1
CROSS JOIN 테이블2;

자체 조인

  • SELF JOIN은 자신이 자신과 조인하는 JOIN방법, 1개의 테이블만 사용함
  • INNER JOIN과 문법이 똑같지만 1개의 테이블만 사용함
SELECT 컬럼
FROM 첫번째 테이블
INNER JOIN 첫번째 테이블
ON 조인될 조건;

'DB, SQL' 카테고리의 다른 글

MySQL VIEW  (0) 2023.10.09
MySQL 제약조건  (0) 2023.10.08
MySQL 데이터 형식  (0) 2023.10.02
트랜잭션  (0) 2023.07.08
  1. JOIN
  2. 내부 조인
  3.  1:N 관계
  4. 문법
  5. 외부 조인
  6. 상호 조인
  7. 자체 조인
'DB, SQL' 카테고리의 다른 글
  • MySQL VIEW
  • MySQL 제약조건
  • MySQL 데이터 형식
  • 트랜잭션
index.ys
index.ys
머리속에 떠도는 코드조각들을 맞추는 공간입니다.
index.ys
코린이 개발일지
index.ys
전체
오늘
어제

공지사항

블로그 메뉴

  • 홈
  • 방명록
  • Github
  • Notion
  • Figma
  • 타닥타닥 (235)
    • 개발일지 (124)
    • html , css (0)
    • Javascript (30)
    • Node.js (8)
    • React (2)
    • 네트워크 (1)
    • DB, SQL (5)
    • AWS (11)
    • CS (21)
    • 면접 (13)
    • 사진 (4)
    • 북로그 (3)
    • 머릿속 (5)

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
index.ys
MySQL JOIN
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.