-
MySQL - JoinDatabase/DB 이론 2022. 3. 13. 02:08
MySQL - Join
MySQL에서 사용하는 Join(Inner Join, Equi Join, Outer Join)을 알아보자.
Tables
아래와 같은 두 개의 테이블로 Join을 알아보자.


Inner Join
테이블이 두 개 있을 때, 두 집합의 교집합 영역을 출력하는 것이 Inner Join이다.
다음과 같이 입력해보자
select * from students s join teachers t on s.tid = t.tid;

students와 teachers 테이블에서 tid가 동일한(교집합 영역) 튜플을 출력한다.
Equi Join
Equi Join은 두 테이블 사이에서 attribute의 값이 같은 튜플을 출력하는 Join이고, 같지 않은 걸 출력하는 건 Non-Equi Join이다.
select * from students s, teachers t where s.tid = t.tid;

where의 조건으로 equal을 이용한 equi join이다.
Non-Equi Join
select * from students s, teachers t where s.tid != t.tid;

non-equi join이다.Outer Join
Outer Join은 Left Join과 Right Join으로 나눠진다.
Left Join은 두 집합의 교집합 영역과 왼쪽 그래프의 일치하지 않는 영역도 출력한다.
Right Join은 두 집합의 교집합 영역과 오른쪽 그래프의 일치하지 않는 영역도 출력한다.Left Join
select * from students s left join teachers t on s.tid = t.tid;

Right Join
select * from students s right join teachers t on s.tid = t.tid;

right join에서 위와 같이 tid 값이 2인 students는 없기 때문에
null값으로 출력된다.'Database > DB 이론' 카테고리의 다른 글
MySQL - 날짜 데이터 사용 (0) 2022.03.13 MySQL User 생성, 권한 설정 (0) 2022.03.12 Mac OS에서 MySQL 한글 설정(UTF-8) (0) 2022.03.11 Database의 여러 종류의 키 (0) 2022.03.11 MySQL Update & Delete (0) 2022.03.09