select ename, deptno, sal
from emp
where sal in (select sal from emp where comm is not null);
select ename, dname, sal
from emp, dept
where emp.deptno = dept.deptno and
dept.deptno = (select deptno from dept where loc='DALLAS');
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');
select empno, ename, sal
from emp
where sal > (select max(sal) from emp where job = 'CLERK')
order by sal desc;
select ename, sal, deptno
from emp
where job in (select job from emp where ename like '%A%');
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으로 치환 해 준 뒤
②의 참조값에 속하는지 다시 검사해주었다.
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')
(도저히 모르겠어서 베낌)
인증
유저가 누구인지 확인하는 절차, 로그인 하는 행위를 말한다.
인가
로그인 한 유저에 대한 권한을 확인하는 것
권한
사용자가 로그인하면 해당 사용자가 맞는지 확인하는 것
SecurityConfig.java에서
role(역할)을 설정해준 뒤, antMatchers에서 접근할수있는 권한을 지정해준다.