PM 부트캠프

[PM 부트캠프 46일차 후기] SQL의 JOIN문이란?

미미유❤ 2025. 8. 19. 20:35

PM 부트캠프 46일차 후기


오늘은 이번조의 담임 튜터님이랑 1:1 면담이 있었다. 30분이었던 면담이 많은 질문으로 인해서 1시간 넘게 이야기를 나눴었다.

면담하고 있으니 다른 튜터님들도 구경오셨당😆 여러 튜터님이 오셔서 궁금했던 내용의 다양한 답변을 받을 수 있어서 좋았던 하루❣ 남은 부트캠프 생활도 아자아자 파이팅이당👊👊

 

 

 

 

 

널 잊지 않았어...SQL 공부 10일차

챕터  4-5 필요한 데이터가 서로 다른 테이블에 있을 때 조회하기 (JOIN)


JOIN문

- Join이란? 필요한 데이터가 '2개 이상의 테이블'에 있을 때 '1개의 테이블'로 연결시켜 데이터를 검색하는 방법

- 테이블을 연결하기 위해서는 1개 컬럼이 공유되어야 함

- 엑셀의 Vlook과 유사

 

ex)

- 여러 테이블에 있는 데이터를 한 테이블로 연결시켜 검색 경우

① 주문 가격은 주문테이블에, 결제 수단은 결제 테이블에 있는 경우

주문을 한 사람을 확인하는 경우 : 주문 테이블과 고객 테이블의 정보를 같이 불러와야 함.

 

 

 

OUTER JOIN(외부 조인)

- Outer Join이란? 두 테이블에서 공통된 값을 가지지 않는 데이터도 함께 볼 수 있게 하는 것

 

OUTER JOIN의 기본 구조

select 조회할 컬럼

from   테이블1 a left join 테이블2 b on a.공통컬럼명=b.공통컬럼명

- 공통 컬럼은 테이블을 연결시켜 주기 위한 공통 값 이기 때문에 두 테이블의 컬럼명이 달라도 괜찮음

ex) 테이블1에는 '고객ID' 고객정보에는 '고객아이디' 라고 컬럼명이 되어있음

from 테이블1 left join 테이블2 on 테이블1.고객ID=테이블2.고객아이디

 

OUTER JOIN의 종류

LEFT OUTER JOIN : 왼쪽 테이블의 모든 값이 출력되는 조인

RIGHT OUTER JOIN : 오른쪽 테이블의 모든 값이 출력되는 조인 

FULL OUTER JOIN : 왼쪽 외부 조인과 오른쪽 외부 조인이 합쳐진 것

기준이 되는 테이블 외에 다른 테이블에는 컬럼에 데이터가 없다면 NULL로 출력됨

 

 

 

 

실습1-1 문 테이블과 고객 테이블을 cusomer_id 컬럼을 공통컬럼으로 연결시켜 left join으로 출력해 줘.

조회 컬럼 : order_id, customer_id, restaurnt_name, price, name, age, gender

select a.order_id,
       a.customer_id,
       a.restaurant_name,
       a.price,
       b.name,
       b.age,
       b.gender
from food_orders a left join customers b on a.customer_id=b.customer_id

 

 

 

 INNER JOIN(내부 조인)

- Inner Join이란? 두 테이블 모두 가지고 있는 데이터만 검색됨

- 교집합과 같음. (중복된 값)

 

 

INNER JOIN의 기본 구조

select 조회할 컬럼

from   테이블1 a inner join 테이블2 b on a.공통컬럼명=b.공통컬럼명