Join - 두개이상의 테이블을 연결해서 내가 필요한 필드를 볼 수 있게 하는것
inner join 은 두 개의 테이블 간에 일치하는 행을 결합하는 데 사용된다.
<inner join>
select 열이름… from 테이블이름1 inner join 테이블이름2 on 조인조건 where 검색조건
문제) 사원정보 테이블(employees)과 업무 정보 테이블(titles) 이용하여 사원번호(emp_no), first_name, last_name, 업무(title), 입사일자(hire_date)를 출력하시오. + staff인 사람만
select e.emp_no, e.first_name, e.last_name, t.title, e.hire_date from employees e inner join titles t on e.emp_no = t.emp_no where t.title='staff';
문제) 사원정보 테이블(employees)과 업무 정보 테이블(titles) 이용하여 사원번호(emp_no), first_name, last_name, 업무(title), 입사일자(hire_date)를 출력하시오. + staff와 engineer인 사람만
select e.emp_no, e.first_name, e.last_name, t.title, e.hire_date from employees e inner join titles t on e.emp_no = t.emp_no where t.title in('staff', 'engineer');
문제) 사원들의 연봉 정보를 출력하는 쿼리문을 완성하시오.
사원번호(emp_no), first_name, last_name, 연봉
select e.emp_no as '사원코드', concat(e.first_name, '-', e.last_name) as '사원명', s.salary as '연봉' from employees e inner join salaries s on e.emp_no = s.emp_no where s.to_date='9999-01-01';
* 테이블 3개 join 하기
select 열이름… from 테이블이름1 inner join 테이블이름2 on 조인조건 inner join 테이블이름3 on 조인조건 where 검색조건
문제) 사원들이 어느 부서에서 근무하는지를 출력하는 쿼리문을 출력하시오.
사원코드, 사원명, 부서명
select e.emp_no as '사원코드', concat(e.first_name, '-', e.last_name) as '사원명',dp.dept_name from employees e inner join dept_emp de on e.emp_no = de.emp_no inner join departments dp on dp.dept_no=de.dept_no;’
문제) 개발자만 출력
select e.emp_no as '사원코드', concat(e.first_name, '-', e.last_name) as '사원명',dp.dept_name from employees e inner join dept_emp de on e.emp_no = de.emp_no inner join departments dp on dp.dept_no=de.dept_no where dp.dept_name=’development’;
'Database > MySQL' 카테고리의 다른 글
[MySQL] self join (0) | 2024.02.04 |
---|---|
[MySQL] 수학함수 (0) | 2024.02.04 |
[MySQL] 내장함수 (0) | 2024.02.04 |
[MySQL] update, rollback, commit, DELETE (0) | 2024.02.04 |
[MySQL] create문 사용법과 예시 (0) | 2024.02.04 |