SQL/SQL 연습

JOIN : 연습 문제 2

HicKee 2022. 11. 4. 13:31

사원이름과 해당사원을 관리하는 관리차 출력 NULL값은 출력하지 않기

- EQUI

select e.ename,e1.ename
from employee e , employee e1
where e.manager = e1.eno;

 

- INNER JOIN

select e.ename , e1.ename
from employee e inner join employee e1
on e.dno = e1.dno
where e.manager = e1.eno;

 

워드 사원보다 입사일이 늦은 사원명 입사일 출력 - 입사일 기준 오름차순

select e.ename,e.hiredate
from employee e,employee e1
where e.hiredate < e1.hiredate and e1.ename = '워드'
order by hiredate;

- 서브쿼리

select e.ename, e.hiredate
from employee e
where e.hiredate < (select hiredate from employee where ename = '워드')
order by hiredate desc;

 

사원 이름과 해당 사원을 관리하는 관리자를 출력 null 포함

select e.ename , e1.ename
from employee e left outer join employee e1
on e.manager = e1.eno;

 

사번 사원명 담당 업무 관리자 번호 부서번호 부서명 (JOIN 비교)

select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from employee e left outer join department d
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from department d left outer join employee e
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from employee e right outer join department d
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from department d right outer join employee e
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from employee e inner join department d
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from department d inner join employee e
on e.dno = d.dno
order by dno;
select e.eno, e.ename ,e.job,e.manager,e.dno,d.dname
from employee e left outer join department d
on e.dno = d.dno
order by dno;

'SQL > SQL 연습' 카테고리의 다른 글

기본 01  (0) 2022.11.05
SUB QUERY - SELECT : 연습 문제  (0) 2022.11.05
JOIN : 연습 문제 1  (0) 2022.11.04
GROUP BY : 연습 문제  (0) 2022.11.03
TABLE CREATE  (0) 2022.11.02