본문 바로가기

DataBase/MySQL

join문

1. join 문

데이터베이스의 데이터 중복을 최소화하기 위해서는 필연적으로 테이블을 여러개로 분리 시켜야한다.

분리된 여러 테이블에 존재하는 데이터들을 하나의 결과로 가져오기 위해서는 join문을 사용해야한다.

  • select 테이블1.컬럼1, 테이블1.컬럼2, 테이블2.컬럼3 from 테이블1, 테이블2

join문을 사용할 때에는 사용되는 두 테이블의 공통된 컬럼에 대해서 동일한 데이터만을 가져오라는 조건문을 반드시 달아줘야한다. 이때 공통된 컬럼이라 함은, 컬럼명이 아닌 컬럼의 데이터가 같은 의미인 것이다.

-- 각 사원들의 사원번호, 근무 부서 번호, 근무 부서 이름을 가져온다. 사원번호를 기준으로 오름차순 정렬한다.
select a2.emp_no, a2.dept_no, a1.dept_no, a1.dept_name
from departments a1, dept_emp a2
where a1.dept_no = a2.dept_no
order by a2.emp_no asc;

-- 각 사원들의 사원번호, first_name, 근무 부서 번호, 근무 부서 이름, 현재 받고 있는 급여액을 가져온다.
select t1.emp_no, t1.first_name, t2.dept_no, t3.dept_name, t4.salary
from employees t1, dept_emp t2, departments t3, salaries t4 
where t1.emp_no = t2.emp_no and t2.dept_no = t3.dept_no and t4.emp_no = t1.emp_no and t4.to_date = '9999-01-01';

 

[출처]윤재성의 처음 시작하는 MySQL DataBase - 인프런 | 강의 (inflearn.com)