JOIN

    [Oracle] JOIN 및 subquery 실습문제

    -- 1. 70년대 생(1970~1979) 중 여자이면서 전씨인 사원의 이름과 주민번호, 부서 명, 직급 조회 SELECT * FROM EMPLOYEE; SELECT * FROM DEPARTMENT; SELECT * FROM JOB; SELECT EMP_NAME, EMP_NO, DEPT_TITLE, JOB_NAME FROM EMPLOYEE JOIN DEPARTMENT ON DEPT_CODE = DEPT_ID JOIN JOB USING (JOB_CODE) WHERE SUBSTR(EMP_NO,1,2) BETWEEN 70 AND 79 AND SUBSTR(EMP_NO,8,1) = 2 AND EMP_NAME LIKE '전%'; --2. 나이 상 가장 막내의 사원 코드, 사원 명, 나이, 부서 명, 직급 명 조회 ..

    [Oracle] JOIN (5) 다중 조인

    2개 이상의 테이블을 가지고 JOIN 할 때 -- 사번, 사원명, 부서명, 직급명 조회 SELECT * FROM EMPLOYEE; -- DEPT_CODE, JOB_CODE SELECT * FROM DEPARTMENT; -- DEPT_ID SELECT * FROM JOB; -- JOB_CODE -->> 오라클 전용 구문 SELECT EMP_ID, EMP_NAME, DEPT_TITLE, JOB_NAME FROM EMPLOYEE E, DEPARTMENT, JOB J WHERE DEPT_CODE = DEPT_ID AND E.JOB_CODE = J.JOB_CODE; -->> ANSI 구문 SELECT EMP_ID, EMP_NAME, DEPT_TITLE, JOB_NAME FROM EMPLOYE..

    [Oracle] JOIN (4) 자체 조인(SELF JOIN)

    4. 자체조인 (SELF JOIN) 같은 테이블을 다시 한번 조인하는 경우 -- 전체 사원의 사번, 사원명, 사원부서코드 ==> EMPLOYEE E -- 사수의 사번, 사수명, 사수부서코드 ==> EMPLOYEE M -->> 오라클 전용 구문 SELECT E.EMP_ID AS "사원사번", E.EMP_NAME AS "사원명", E.DEPT_CODE AS "사원부서코드", M.EMP_ID AS "사수사번", M.EMP_NAME AS "사수명", M.DEPT_CODE AS "사수부서코드" FROM EMPLOYEE E, EMPLOYEE M WHERE E.MANAGER_ID = M.EMP_ID; -->> ANSI 전용구문 SELECT E.EMP_ID AS "사원사번", E.EMP_NAME AS "사원명", E...

    [Oracle] JOIN (3) 비등가 조인(NON EQUAL JOIN)

    3. 비등가 조인 (NON EQUAL JOIN) => 얘는 그냥 참고용 매칭시킬 컬럼에 대한 조건 작성시 '=(등호)' 를 사용하지 않는 조인문 ANSI 구문으로는 JOIN ON만 사용 가능 -- 사원명, 급여, 최대 월급 한도 -->> 오라클 구문 SELECT EMP_NAME, SALARY, MAX_SAL FROM EMPLOYEE, SAL_GRADE --WHERE SALARY >= MIN_SAL AND SALARY > ANSI 구문 SELECT EMP_NAME, SALARY, MAX_SAL FROM EMPLOYEE JOIN SAL_GRADE ON (SALARY BETWEEN MIN_SAL AND MAX_SAL);

    [Oracle] JOIN (2) 포괄조인, 외부조인 (OUTER JOIN)

    2. 포괄 조인 / 외부 조인 ( OUTER JOIN ) 두 테이블 간의 JOIN시 일치하지 않는 행도 포함시켜서 조회 가능 단, 반드시 LEFT / RIGHT 지정해야됨!! (기준이 되는 테이블 지정) -- 사원명, 부서명, 급여, 연봉 SELECT EMP_NAME, DEPT_TITLE, SALARY, SALARY * 12 FROM EMPLOYEE JOIN DEPARTMENT ON (DEPT_CODE = DEPT_ID); -- 부서 배치가 아직 안된 사원 2명에 대한 정보가 조회 X -- 부서에 배정된 사원이 없는 부서 같은 경우도 조회 X -- 1) LEFT [OUTER] JOIN : 두 테이블 중 왼편에 기술된 테이블 기준으로 JOIN -->> ANSI 구문 SELECT EMP_NAME, DEPT_..

    [Oracle] JOIN (1) 등가조인(EQUAL JOIN), 내부조인(INNER JOIN)

    두 개 이상의 테이블에서 데이터를 조회하고자 할 때 사용되는 구문 조회 결과는 하나의 결과물(RESULT SET)로 나옴 관계형 데이터베이스는 최소한의 데이터로 각각의 테이블에 데이터를 담고 있음 (중복을 최소화하기 위해 최대한 쪼개서 관리함) -- 위의 두테이블에서 어떤 사원이 어떤 부서에 속해있는지 궁금함! 코드말고.. 이름으로.. => 관계형 데이터베이스에서 SQL문을 아용한 테이블간에 "관계"를 맺는 방법 (무작정 다 조회를 해오는게 아니라 각 테이블간 연결고리로써의 데이터를 매칭해서 조회 시켜야함!!) JOIN 크게 "오라클 전용구문" 과 "ANSI 구문" (ANSI == 미국국립표준협회) => 아스키코드표 만드는 단체! [ JOIN 용어 정리 ] 1. 등가조인 (EQUAL JO..