데이터 베이스에서 가장 중요한 부분은 데이터를 가져오는데 걸리는 시간의 최소화 이다
데이터 베이스는 저장된데이터의 총량이 크면 클 수록 데이터를 가져오는데 시간이 오래걸리게 되는데
이때문에 데이터의 중복을 최소화 하여 데이터를 빠르게 가져올 수 있도록 테이블을 구성하게 된다
이 과정에서 테이블을 두 개 이상으로 분리 될 수 밖에 없다
여러 테이블을 join 할 때 에는 테이블의 이름을 로 구분하여 작성하여주고 각 테이블의 컬럼명을 기술하여 주면
원하는 데이터를 가져올 수 있다
select 컬럼명1, 컬럼명2 컬럼명
from 테이블1, 테이블2
-- 데이터 베이스에서 가장 중요한 부분은 데이터를 가져오는데 걸리는 시간의 최소화 이다
-- 데이터 베이스는 저장된데이터의 총량이 크면 클 수록 데이터를 가져오는데 시간이 오래걸리게 된다
-- 이때문에 데이터의 중복을 최소화 하여 데이터를 빠르게 가져올 수 있도록 테이블을 구성하게 된다.
-- 이 과정에서 테이블을 두 개 이상으로 분리 될 수 밖에 없다
-- 여러 테이블을 join 할 때 에는 테이블의 이름을 로 구분하여 작성하여주고 각 테이블의 컬럼명을 기술하여 주면
-- 원하는 데이터를 가져올 수 있다
-- select 컬럼명1, 컬럼명2 컬럼명
-- from 테이블1, 테이블2
-- 각 사원들의 사원번호, 근무 부서 번호, 근무 부서 이름을 가져온다. 사원번호를 기준으로 오름 차순 정렬한다
select dept_emp.emp_no, dept_emp.dept_no, departments.dept_name from dept_emp, departments order by emp_no;
-- 해당 조건은 다 대 다의 관계로 가져오기 떄문에 잘못된 데이터가 구성이 되기 떄문에 join 조건문을 작성해야한다.
select a2.emp_no, a2.dept_no, a1.dept_no, a1.dept_name
from departments a1, dept_emp a2
order by a2.emp_no;
-- 공통인 부분이 같은경우에서만 가져오는 조건을 작성해 주어야 한다.
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;
-- 각 사원들의 사원번호, first_name, 근무 부서 번호를 가져온다
select a.emp_no, dept_no, first_name from employees a, dept_emp b where a.emp_no = b.emp_no;
-- 각 사원들의 사원번호, first_name, 현재 받고 있는 급여액을 가져온다
select a.emp_no, first_name, salary from employees a, salaries b where a.emp_no = b.emp_no and b.to_date = '9999-01-01';
-- 각 사원들의 사원번호, first_name, 근무 부서 이름을 가져온다
select a.emp_no, first_name, b.dept_no, dept_name from employees a, dept_emp b, departments c
where a.emp_no = b.emp_no and b.dept_no = c.dept_no;
'Mysql > Mysql 기초' 카테고리의 다른 글
mysql 기초 set(합집합, 교집합, 차집합) (0) | 2020.07.09 |
---|---|
mysql 서브쿼리 (0) | 2020.07.09 |
mysql 그룹함수 (0) | 2020.07.09 |
mysql 기초 날짜 함수 (0) | 2020.07.09 |
mysql 문자열함수 (0) | 2020.07.09 |