1. 조인을 이용하여 커미션(COMM)이 NULL이 아닌 사원의 사원번호(EMPNO), 이름 (ENAME), 부서명(DNAME)을 출력하라.

 

select e1.empno, e1.ename, dname
from emp e1
join dept on dept.deptno = e1.deptno
where e1.comm is not null;

 

 

 

 

 

 

2. 조인을 이용하여 회사의 평균 급여보다 많이 받는 사원의 상관인 사람의 사원 번호 (EMPNO), 상관의 이름(ENAME), 상관의 부서명(DNAME)을 출력하라. (단, 상관이 없는 최고 직급은 출력하지 않는다.)

 

select distinct e2.empno, e2.ename, dname
from emp e1
join emp e2 
on e1.mgr = e2.empno
join dept 
on e2.deptno = dept.deptno
where e1.sal > (select avg(sal) from emp);

 

 

 

 

3. 1번으로 만들어진 테이블 데이터와 2번으로 만들어진 테이블 데이터를 묶어 하나의 테이 블 결과로 출력하라. (단, 결합된 테이블 데이터가 중복될 경우 중복을 허용하지 않는다.)

select distinct empno, ename, dname
from (
    select e1.empno, e1.ename, dname
    from emp e1
    join dept 
    on dept.deptno = e1.deptno
    where e1.comm is not null
    union
    select e2.empno, e2.ename, dname
    from emp e1
    join emp e2 
    on e1.mgr = e2.empno
    join dept 
    on e2.deptno = dept.deptno
    where e1.sal > (select avg(sal) from emp)
) combined_results;

 

 

 

 

 

4. [Players] 테이블을 생성하고 테이블의 구조를 첨부하시오

        조건 1) pid는 기본키이다 조건

                 2) pnum은 유일한 값을 가져야 한다 조건

                 3) pname은 null 값을 허용하지 않는다 

 

drop table players;
create table players (
    pid int primary key,
    pnum varchar(20) unique,
    pname varchar(20) not null,
    psport int,
    tnum int
);

 

+ Recent posts