KIC/DB 오라클

day06_2 - 오라클 (join 문, Cartesian Product/ 카티션 곱/ CROSS, equi join/등가 조인)

바차 2021. 7. 1. 00:30
반응형

[join ]

-> 조인으로 컬럼수가 늘어난다고 보면 된다.

 

select * from emp; -> row 14

select * from dept; -> row 4

 

select * from emp, dept; - >row 14* 4 = 56

select e.*, d.* from emp e, dept d;

 

 

[Cartesian Product/ 카티션 곱/ CROSS JOIN]

 

 

 

 

 

 

 

[equi join (등가 조인)]

-> 학생의 이름과 학과를 같이 표시하도록 조인을 건다.

 

 

 

select s.name, s.deptno1, d.deptno, d.dname

from student s, department d

where s.deptno1 = d.deptno;

 

 

 

 

 

 

 

 

[EX1]

 

 

-- oracle join 문법

select s.name 학생이름, s.profno 교수번호, p.name 교수이름

from student s, professor p

where s.profno = p.profno;

 

 

 

--ANSI JOIN 문법

select s.name 학생이름, s.profno 교수번호, p.name 교수이름

from student s join professor p

on s.profno = p.profno;

 

 

 

 

 

 

 

 

[EX2]

-- oracle join 문법

select e.name 사원이름,

e position 현재직급,

e.pay 현재연봉,

p.s_pay 하한금액,

p.e_pay 상한금액

from emp2 e, p_grade p

where e.position = p.position;

 

 

 

--ANSI JOIN 문법

select e.name 사원이름,

e position 현재직급,

e.pay 현재연봉,

p.s_pay 하한금액,

p.e_pay 상한금액

from emp2 e join p_grade p

on e.position = p.position;

300x250