Spring 8일차 수업

김형우·2022년 12월 15일
0

Spring

목록 보기
8/8

1.아래의 쿼리를 완성하시오.

  • 커미션을 받는 사원과 급여가 일치하는 사원의 이름,부서번호,급여를 출력하라.
select ename, deptno, sal 
from emp
where sal in (select sal from emp where comm is not null);
  • Dallas에서 근무하는 사원과 직업이 일치하는 사원의 이름,부서이름, 및 급여를 출력하시오
select ename, dname, sal
from emp, dept
where emp.deptno = dept.deptno and
dept.deptno = (select deptno from dept where loc='DALLAS');
  • Scott과 동일한 급여 및 커미션을 받는 모든 사원의 이름, 입사일 및 급여를 출력하시오
SELECT ENAME, HIREDATE, SAL
FROM EMP
WHERE SAL=(SELECT SAL
FROM EMP
WHERE ENAME='SCOTT')
AND NVL(COMM,0)=(SELECT NVL(COMM,0)
FROM EMP
WHERE ENAME='SCOTT');
  • 직업이 Clerk 인 사원들보다 더 많은 급여를 받는 사원의 사원번호, 이름, 급여를 출력하되,
    결과를 급여가 높은 순으로 정렬하라
select empno, ename, sal
from emp
where sal > (select max(sal) from emp where job = 'CLERK')
order by sal desc;
  • 이름에 A가 들어가는 사원과 같은 직업을 가진 사원의 이름과 월급, 부서번호를 출력하라.
select ename, sal, deptno
from emp
where job in (select job from emp where ename like '%A%');
  • New York 에서 근무하는 사원과 급여 및 커미션이 같은 사원의 사원이름과 부서명을 출력하라.
select e.ename, d.dname 
from emp e, dept d
where e.deptno = d.deptno and
e.sal in(select e.sal from emp e, dept d 
where d.deptno = e.deptno and loc = 'NEW YORK') and
NVL(COMM, 0) in(select nvl(comm, 0) from emp e, dept d 
where e.deptno = d.deptno and loc = 'NEW YORK');

해설 -> emp테이블의 sal이 ①의 참조값에 속하는지 검사 후
emp테이블의 comm값을 NVL로 null값을 0으로 치환 해 준 뒤
②의 참조값에 속하는지 다시 검사해주었다.

  • Dallas에서 근무하는 사원과 직업 및 관리자가 같은 사원의 사원번호,사원이름,직업,월급,부서명,커미션을 출력하되 커미션이 책정되지 않은 사원은 NoCommission으로 표시하고,
    커미션의 컬럼명은 Comm으로 나오게 출력하시오. (단, 최고월급부터 출력되게 하시오)
SELECT E.EMPNO, E.ENAME, E.JOB, E.SAL, D.DNAME,
NVL((TO_CHAR(E.COMM)),'NoCommision') AS "COMM"
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO
AND JOB IN(SELECT JOB
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND LOC='DALLAS')
AND MGR IN(SELECT MGR
FROM EMP E, DEPT D
WHERE E.DEPTNO=D.DEPTNO AND LOC='DALLAS')

(도저히 모르겠어서 베낌)

2. 아래의 용어에 대하여 설명하시오.

  • 인증

    유저가 누구인지 확인하는 절차, 로그인 하는 행위를 말한다.

  • 인가

    로그인 한 유저에 대한 권한을 확인하는 것

  • 권한

    사용자가 로그인하면 해당 사용자가 맞는지 확인하는 것

3.스프링 시큐리티에서 인증 및 권한 설정 방법을 설명하시오.

SecurityConfig.java에서
role(역할)을 설정해준 뒤, antMatchers에서 접근할수있는 권한을 지정해준다.

profile
개발자 지망생

0개의 댓글