[Oracle] NOT EXISTS EXISTS는 컬럼이 필요없다데이터가 있느냐 없느냐로만 판단한다. JOB_ID = 'ST_CLERK'인 사람을 1로 출력한다고 서브쿼리를 작성한다. -> ROW가 있다. NOT EXISTS -> ROW가 없는 데이터를 뽑아라 즉 JOB_ID = 'ST_CLERK'인 데이터만 뺀 JOB_ID = 'ST_CLERK'아닌 데이터만 나온다. NOT EXISTS 구문안에 부서가 존재하는 LOCATION_ID를 뽑아낸다. LOCATION_ID로 COUNTRIES와 조인하여 COUNTRY NAME을 뽑아낸다.부서가 존재하지 않는 나라를 찾기 위해 NOT EXISTS를 사용한다.중복된 값을 제거하기위해 DISTINCT를 써준다. DB/Oracle 9년 전
[Oracle] VIEW 뷰 VIEW 추출하고자 하는 대상을 줄여나가는 작업FROM절에 보고싶은 조건을 적어 가상의 테이블을 만든다. EMP_DETAILS_VIEW를 FROM절에 적고 출력하면EMP의 모든 값이 출력된다.이 뷰는 사실 아래 코드와 같다. LAST_NAME에 u가 포함되는 사원테이블을 FROM절에 적어 뷰로 만든다. ID가 1700인 부서에서 근무하는 사원 테이블을 뷰로 만들 뒤 조건을 적어준다. 조건이 여러개 있을 경우 INLINE VIEW를 중첩하여 만들 수 있다. DB/Oracle 9년 전
[Oracle] 어느 쿼리가 더 빠를까 18. 자신의 매니저보다 먼저 고용된 사원들의 LAST_NAME 및 고용일을 조회한다.는 문제를 풀어보았다.JOIN을 이용하고 서브쿼리를 이용하는 방법과JOIN만 이용하는 방법이 있었다. SELECT LAST_NAME , HIRE_DATEFROM EMPLOYEES EWHERE HIRE_DATE < ( SELECT HIRE_DATE FROM EMPLOYEES E2 WHERE E.MANAGER_ID = E2.EMPLOYEE_ID ); SELECT EMP.LAST_NAME , EMP.HIRE_DATEFROM EMPLOYEES EMP , EMPLOYEES MGRWHERE EMP.MANAGER_ID = MGR.EMPLOYEE_IDAND EMP.HIRE_DATE < MGR.HIRE_DATE; 누가 더 빠를까?알아보.. DB/Oracle 9년 전
[Oracle] 테이블 조인( JOIN ) EXCEL로 HR테이블을 만들어보았다. EMPLOYEE_ID, LAST_NAME, DEPARTMENT_ID는 EMPLOYEE테이블에 있지만DEPARTMENT_NAME은 DEPARTMENTS테이블에만 있다.따라서 모두 출력하고 싶으면 EMPLOYEES테이블과 DEPARTMENTS테이블을 조인해야한다.FROM절에서 EMPLOYEES 테이블은 E로 명명 해준다.(ALIAS)DEPARTMENTS테이블은 D로 ALIAS해준다.SELECT절에서 출력하고 싶은 컬럼명을 적고WHERE절에서 조인을 시켜주는데 EMPLOYEE테이블의 DEPARTMENT_ID 를 E.DEPARTMENT_ID로 적고DEPARTMENTS테이블의 DEPARTMENT_ID를 D.DEPARTMENT_ID로 적은뒤둘을 같다고 해주면 E.DEPARTM.. DB/Oracle 9년 전