4장 조인

카테고리 없음 2024. 1. 30. 17:52

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;

Posted by webpage
,