### join01 ###
/*
조인(join)
: 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것
종류: 내부 조인, 외부 조인, 상호 조인, 자체 조인
1. 내부 조인(inner join)
: 두 개 이상의 테이블에서 특정 열(기준 열)의 값이 일치하는 행만 가져오는 조인
>> 교집합을 반환
# 일대다 관계 (1 : 多)
: 하나의 테이블의 한 행이 다른 테이블의 여러 행과 관련되는 경우
EX) members 테이블 - purchases 테이블
>> 각 회원은 여러 구매 기록을 가짐 (1회원 : 여러 개의 구매기록)
EX) 1명의 회사원 - 여러 번의 급여
학생 테이블 - 학점 테이블
# 내부 조인의 기본 형태
select 열 목록
from 기준테이블(첫 번째 테이블)
(inner) join 두 번째 테이블
on 조인될 조건
(where 조건 ...);
외부 조인(outer join)
: 두 테이블을 조인할 때 필요한 내용이 한쪽 테이블에만 있어도 결과를 추출하는 조인
>> 조인 조건 on식에 맞지 않는 행도 결과에 포함
# 외부 조인의 종류
left outer join, right outer join, full outer join
# 기본 형태
select 열 목록
from 기준 테이블
(left | right | full) outer join -- 기본: left
on 조인될 조건
(where ....);
*/
# 1. left outer join
# : 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 매칭되는 레코드만을 포함
# 전체 회원에 대해 구매 기록(없더라도)을 출력
select
M.member_id, M.name, P.product_code, M.area_code
from
members M
left outer join purchases P
on M.member_id = P.member_id
order by M.member_id;
# : left outer join: 왼쪽 테이블의 내용은 모두 출력되어야 함!
# right outer join 예제
select
M.member_id, M.name, P.product_code, M.area_code
from
purchases P
right outer join
members M -- 오른쪽에 있는 회원 테이블을 기준으로 외부 조인
on M.member_id = P.member_id
order by M.member_id;
# 외부조인 예제 #
select
M.member_id, P.product_code, M.name, M.contact
from
members M
left outer join purchases P
on M.member_id = P.member_id
where
P.product_code is null;/*
외부 조인(outer join)
: 두 테이블을 조인할 때 필요한 내용이 한쪽 테이블에만 있어도 결과를 추출하는 조인
>> 조인 조건 on식에 맞지 않는 행도 결과에 포함
# 외부 조인의 종류
left outer join, right outer join, full outer join
# 기본 형태
select 열 목록
from 기준 테이블
(left | right | full) outer join -- 기본: left
on 조인될 조건
(where ....);
*/
# 1. left outer join
# : 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 매칭되는 레코드만을 포함
# 전체 회원에 대해 구매 기록(없더라도)을 출력
select
M.member_id, M.name, P.product_code, M.area_code
from
members M
left outer join purchases P
on M.member_id = P.member_id
order by M.member_id;
# : left outer join: 왼쪽 테이블의 내용은 모두 출력되어야 함!
# right outer join 예제
select
M.member_id, M.name, P.product_code, M.area_code
from
purchases P
right outer join
members M -- 오른쪽에 있는 회원 테이블을 기준으로 외부 조인
on M.member_id = P.member_id
order by M.member_id;
# 외부조인 예제 #
select
M.member_id, P.product_code, M.name, M.contact
from
members M
left outer join purchases P
on M.member_id = P.member_id
where
P.product_code is null;
'SQL' 카테고리의 다른 글
SQL정리(변수) (0) | 2024.09.26 |
---|---|
SQL 정리(형 변환) (0) | 2024.09.26 |
SQL 정리(select) (0) | 2024.09.25 |
sql 기초 예시 (0) | 2024.09.25 |
SQL 정리(데이터타입) (1) | 2024.09.23 |