[MYSQL] JOIN(INNER JOIN, OUTER JOIN)

2023. 6. 2. 00:00·코테/정리
728x90

JOIN 이란?

두 테이블을 묶어 하나의 테이블을 만드는 것.

서로 다른 테이블에서 정보를 가져올 때 JOIN을 사용해준다.

 

1. INNER JOIN

보통 JOIN 한다고 할때 INNER JOIN을 뜻한다.

SELECT <열 목록>
FROM <기준 테이블>
    INNER JOIN<참조할 테이블>
    ON <조인 조건>
[WHERE 검색조건]

 

* INNER JOIN이 아니라 그냥 JOIN을 써도 INNER JOIN으로 인식한다.

SELECT INGREDIENT_TYPE, SUM(TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVOR
GROUP BY INGREDIENT_TYPE
ORDER BY SUM(TOTAL_ORDER);

GROUP BY 로 INGREDIENT_TYPE을 묶고, 총합을 구하라고 했으니까 SUM 집계함수를 사용해준다.

테이블이 2개로 나눠져 있었기 떄문에 JOIN으로 묶어줬다.

 

* JOIN은 2개 이상의 테이블을 결합하기 때문에 안전하게 모든 열에 테이블 명을 붙여주는게 좋다.

SELECT B.INGREDIENT_TYPE AS INGREDIENT_TYPE, SUM(A.TOTAL_ORDER) AS TOTAL_ORDER
FROM FIRST_HALF A JOIN ICECREAM_INFO B ON A.FLAVOR = B.FLAVOR
GROUP BY B.INGREDIENT_TYPE
ORDER BY SUM(A.TOTAL_ORDER);

 

cf) INNER JOIN은 양쪽 테이블에 모두 값이 존재할 때만 결과가 검색된다. 

 

 

2. OUTER JOIN

OUTER JOIN은 한쪽 테이블에만 값이 있을 때에도 결과가 검색된다.

SELECT <열 목록>
FROM <첫 번째 테이블(LEFT)>
    <LEFT | RIGHT | FULL> [OUTER] JOIN <두 번째 테이블(RIGHT)>
    ON <조인 조건>
[WHERE 검색조건];
  • LEFT = 첫번째 테이블의 내용은 두번째 테이블과 연관이 없어도 전부 검색
  • RIGHT = 두번째 테이블의 내용은 첫번째 테이블과 연관이 없어도 전부 검색
  • FULL = 모든 테이블의 내용 검색

 

 

728x90

'코테 > 정리' 카테고리의 다른 글

[MySQL] GROUP BY 1  (0) 2023.07.05
[MYSQL] 중복제거한 데이터 개수 카운트하기  (0) 2023.06.07
[MYSQL] CASE 조건처리, 쿼리 실행순서, GROUP BY 집계함수  (0) 2023.06.01
[MySQL] date_format('%Y-%m-%d')  (0) 2023.05.06
[MySQL] LIMIT, ORDER BY, COUNT, MAX MIN SUM  (0) 2023.05.02
'코테/정리' 카테고리의 다른 글
  • [MySQL] GROUP BY 1
  • [MYSQL] 중복제거한 데이터 개수 카운트하기
  • [MYSQL] CASE 조건처리, 쿼리 실행순서, GROUP BY 집계함수
  • [MySQL] date_format('%Y-%m-%d')
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (443)
      • App·Android (1)
      • BE (50)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • 실전 자바 기본, 중급 (1)
        • PHP (11)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (28)
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • Python (0)
        • 빅데이터분석기사 (13)
      • Infra (1)
      • Activity (9)
        • Intern (0)
        • SK AI Dream Camp (2)
        • 구름톤 유니브 4기 (1)
        • 리모트 인턴십 6기 (3)
        • 봉사활동 (0)
        • 부스트캠프 AI Tech 8기 (3)
      • CS (8)
      • 취준 (12)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (2)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다이나믹프로그래밍
    구현
    그리디알고리즘
    매개변수탐색
    백준
    그래프탐색
    투포인터
    이분탐색
    정렬
    시뮬레이션
    최단경로
    누적합
    그래프이론
    문자열
    자료구조
    너비우선탐색
    브루트포스 알고리즘
    오블완
    수학
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[MYSQL] JOIN(INNER JOIN, OUTER JOIN)
상단으로

티스토리툴바