subquery 2

9일차(2)/DB_Oracle(6) : 다중행 서브쿼리

9일차(2)/DB_Oracle(5) : 다중행 서브쿼리 2) 다중행 서브쿼리 - 서브쿼리의 결과값으로 여러개의 행이 출력되는 서브쿼리 - 다중행 서브쿼리의 결과값을 조건절에서 사용할때는 반드시 다중행 연산자와 함께 사용해야 한다.(IN, ALL, ANY, EXIST) - 다중행 서브쿼리의 경우 리턴되는 값의 수가 여러개 나오므로 = 으로는 비교할 수 없다. 예제1) 급여를 3000 이상 받는 사원이 소속된 부서와 동일한 부서에서 근무하는 사원들의 이름과 급여, 부서번호를 출력 SELECT ename, sal, deptno FROM emp WHERE deptno IN(SELECT deptno FROM emp WHERE sal>=3000); - 먼저 급여를 3000이상 받는 사원이 소속된 부서의 부서번호를 ..

국비교육(22-23) 2022.10.18

9일차(1)/DB_Oracle(5) : 단일행 서브쿼리

9일차(1)/DB_Oracle(5) : 서브쿼리 Q) JOIN 작업이 불편한데 한 테이블에 다 넣을수는 없을까? A) emp와 dept 테이블을 합쳐 emp테이블에 값을 추가한다면 dname, loc라는 칼럼이 추가로 들어가야 한다. 하지만 만약 직원이 1200명이라면, 테이블이 분리되어있을때는 4개의 row만 있으면 되는데 같이 넣으려면 1200개의 row가 새롭게 생겨난다. 용량, 비용적인 면에서 분리하는 것이 효율적이다. 또, 부서가 수정된다면 dept 테이블에서는 하나의 row만 수정하면 되는데 emp에서는 수백개의 row를 수정해야 한다. 표를 합쳐놓는다면 SELECT하기엔 편하지만, 관리 차원에서는 비효율적이다. - 서브쿼리 : 하나의 SQL 문장절에 포함된 또다른 SELECT 문장, 따라서 ..

국비교육(22-23) 2022.10.18