221218 수요일
워크시트에서 구문 똑같이 작성하고 ▶표시 클릭하면 결과가 나온다!
도구-환경설정-코드편집기-행여백-행 번호표시
테이블 구조를 바로 볼 수 있다.
파일-Data Modeler-임포트-데이터 딕셔너리
select 테이블a.컬럼n, 테이블b.컬럼n
from 테이블a join 테이블b
on 테이블a.컬럼n = 테이블b.컬럼n
[where 조건문]
[group by 컬럼명]
[having 조건문]
[order by 컬럼명 asc | desc];
📝employees테이블과 departments테이블을 사용해서
직원 정보(employee_id, last_name, salary, department_id)와
직원이 소속된 부서이름(department_name)을 함께 출력하시오.select employee_id, last_name, salary, employees.department_id, department_name from employees join departments on employees.department_id = departments.department_id; (==) select employees.employee_id, employees.last_name, employees.salary, employees.department_id,departments.department_name from employees join departments on employees.department_id = departments.department_id; (==) select e.employee_id, e.last_name, e.salary, e.department_id, d.department_name from employees e join departments d on e.department_id = d.department_id;
📝 employees 테이블과 departments 테이블을 사용해서
부서 정보(department_id, department_name, manager_id)와
부서의 매니저 이름(last_name)을 함께 출력하시오.select d.department_id, d.department_name, d.manager_id as "Mgr_id", e.last_name as "Mgr_name" from departments d join employees e on d.manager_id = e.employee_id; (==) select d.department_id, d.department_name, e.employee_id as "Mgr_id", e.last_name as "Mgr_name" from departments d join employees e on d.manager_id = e.employee_id;
📝 departments 테이블과 locations 테이블을 사용해서
부서 정보(department_id, department_name, location_id)와
부서의 위치 정보(city, street_address)를 함께 출력하시오.select d.department_id, d.department_name, d.location_id, l.city, l.street_address from departments d join locations l on d.location_id = l.location_id;
📝 employees 테이블과 jobs 테이블을 사용해서
직원 정보(employee_id, last_name, salary, job_id)와
직원의 담당 업무명(job_title)을 함께 출력하시오.select e.employee_id, e.last_name, e.salary, e.job_id, j.job_title from employees e join jobs j on e.job_id = j.job_id;
테이블 수 | 조인조건 수 |
---|---|
2 | 1 |
3 | 2 |
N | N-1 |
select 테이블a.컬럼n, 테이블b.컬럼n, 테이블n-1.컬럼n, ...
from 테이블a join 테이블b
on 테이블a.컬럼n = 테이블b.컬럼n
join 테이블n-1
on 테이블n.컬럼n = 테이블n-1.컬럼n
📝 employees, departments, locations 테이블을 사용해서
직원 정보(employee_id, last_name, salary, department_id)와
직원이 소속된 부서 정보(department_name, location_id)와
부서의 위치 정보(city, street_address)를 함께 출력하시오.select e.employee_id, e.last_name, e.salary, e.department_id d.department_name, d.location_id, l.city, l.street_address from employees e join departments d on e.department_id = d.department_id join locations l on d.location_id = l.location_id;
📝 employees, jobs, departments 테이블을 사용해서
직원 정보(employee_id, last_name, job_id)와 직원의 담당 업무명(job_title)과
직원이 소속된 부서 정보(department_id, department_name)를 함께 출력하시오.select e.employee_id, e.last_name, e.job_id, j.job_title, d.department_id, d.department_name from employees e join jobs j on e.job_id = j.job_id join departments d on e.department_id = d.department_id;
하나의 테이블을 마치 다른 테이블인듯 테이블 alias를 다르게 부여해서 자기 자신 테이블과 조인하는 유형
select 테이블a1.컬럼n, 테이블a2.컬럼n
from 테이블a1 join 테이블a2
on 테이블a1.컬럼n = 테이블a2.컬럼n
📝employees테이블로부터 직원의 정보(employee_id, last_name, manager_id)와
그 직원의 매니저 이름(last_name)을 함께 출력하시오.select e1.employee_id, e1.last_name, e1.manager_id, e2.last_name from employees e1 join employees e2 on e1.manager_id = e2.employee_id;