3장 연습문제 12번
12.
select last_name || ' ' || lpad(' ',salary/1000+1,'*') "사원과 월급 목록"
from employees;
월급 $6500 --> ****** (6개)
lpad(A, B, C)
-> A를 B에 출력, 남는 부분에 C를 출력
lpad(salary, 15, '$')
-> 월급을 15자리에 출력, 남는 부분에 $를 출력
lpad(' ', salary/1000+1, '*')
A B
사번/ 이름 / 부서번호 부서번호 / 부서이름 / 부서위치
1 홍길동 100 100 개발부 본관1
2 이길동 102 102 홍보부 별관3
3 박길동 103 103 영업부 본관4
104 자재부 본관5
등가(부서번호)조인의 결과(아래)
1 홍길동 100 개발부 본관1
2 이길동 102 홍보부 별과3
3 박길동 103 영업부 본관4
=================여기까지가 등가조인의 결과=========
104 자재부 본관5
=================여기까지가 포괄조인의 결과=========
조인(join)의 개념
- 분리된 테이블을 가상으로 하나의 테이블로 합친다.
자체 조인의 개념
- 하나의 테이블을 가상으로 분리한 후,
다시 하나의 테이블로 합친다.
포괄조인
select e.last_name, e.department_id, d.department_name
from employees e, departments d
where e.department_id(+) = d.department_id;
(+)를 어디다 붙이는가? null을 출력하는 쪽에 붙이다.
오라클의 조인 4가지
1. 등가조인 : 양쪽테이블에 공통되는 데이터를 중심으로 가상으로 합친다.
2. 비등가조인 : 양쪽테이블에 일치하지는 않지만 범위에 포함되는 데이터를 중심으로
가상으로 합친다.
3. 자체조인 : 하나의 테이블을 가상으로 분리한 후 다시 등가조인으로 테이블을 합친다.
4. 포괄조인 : 등가조인으로는 출력할 수 없는 데이터도 출력할 수 있다.
4장 조인 연습문제 풀이
2.
찾는 항목:업부코드, 부서의 위치 번호
업부코드 : 사원정보테이블에 있다.(employees)
부서위치번호 : 부서정보테이블에 있다.(departments)
-> 양쪽 테이블에 공통데이터(department_id:부서번호)가 있으므로 등가조인
추가 조건 : 부서번호가 80
select job_id, location_id
from employees e, departments d
where e.department_id = d.department_id and e.department_id = 80;
1.
찾는 항목: 사원의 이름, 부서번호, 부서이름
사원의 이름, 부서번호 : 사원정보테이블(employees)
부서이름 : 부서정보테이블(departments)
employees와 departments에 공통되는 데이터가 있는가? 있다. 부서번호
-> 등가조인
select last_name, e.department_id, department_name
from employees e, departments d
where e.department_id = d.department_Id;