본문 바로가기

카테고리 없음

[4일차 과제]sql 조인문제

##  SQL 조인문제 

-- 오라클 구문, Ansi 표준 구문 중 하나로 작성해 주세요.
 
EX1. 모든 사원의 이름, 부서 번호, 부서 이름을 표시하는 질의를 작성하시오.
SELECT EMPLOYEE_ID,DEPARTMENT_ID,DEPARTMENT_NAME
FROM EMP,DEPT
ON (WHERE EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID);

EX2. 부서 60에 속하는 모든 사원의 이름과 부서이름을 표시하는 질의를 작성하시오.
SELECT LAST_NAME,DEPARTMENT_NAME
FROM EMP,DEPT
ON (WHERE EMP.DEPARTMENT_ID=60&&DEPT.DEPARTMENT_ID=60);

EX3. 커미션을 받는 모든 사원의 이름과 부서이름을 표시하는 질의를 작성하시오.
SELECT LAST_NAME IS NOT NULL,DEPARTMENT_NAME
FROM EMP,DEPT
ON (WHERE EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID);


EX4. 이름에 A가 들어가는 모든 사원의 이름과 부서이름을 표시하는 질의를 작성하시오.
SELECT LAST_NAME IS LIKE ('%a%'),DEPARTMENT_NAME
FROM EMP,DEPT
ON (WHERE EMP.DEPARTMENT_ID=DEPT.DEPARTMENT_ID);
=====
upper(E.LAST_NAME) LIKE "%A"

EX5. LOCATION_ID가 1700 에서 근무하는 
      모든 사원의 이름, 직위, 부서 번호 및 부서 이름을 표시하는 질의를 작성한다.
SELECT LAST_NAME,JOB_ID,DEPARTMENT_ID,DEPATMENT_NAME
FROM EMP,DEPT
ON (WHERE DEPARTMENT_ID.EMP=DEPARTMENT_ID.DEPT && LOCATION_ID.DEPT=1700);
 

EX6. 사원의 이름 및 사원 번호, 관리자(상사)의 이름과 관리자 번호와 함께 표시하고 
      열 레이블 각각 Employee, Emp#, Manager, Mgr#로 지정한다.
      단, 매니저가 없는 사원도 출력하시오.
SELECT LAST_NAME AS "Employee",EMPLOYEE_ID AS "Emp#",MANAGER_ID as "Manager",PHONE_NUMBER ON MANAGER_ID as "Mgr#"
FROM EMP LEFT JOIN DEPT
ON (WHERE MANAGER_ID.EMP = MANAGER_ID.DEPT);

EX7. JOB_GRADES 테이블의 구조를 확인하고, 모든 사원의 이름, 직위, 부서 이름, 급여 및 등급을 표시하는 질의 작성하시오.
      단, 급여가 많은 사원부터 출력하시오.
SELECT LAST_NAME,JOB_ID,DEPARTMENT_NAME,SALARY,JOB_GRADES
FROM JOB_GRADES
ON WHERE (JOB_ID.EMP=JOB_ID.DEPT)
ORDER BY SALARY DESC;
=============
FROM DEPARTMENT_NAME.EMP,DEPARTMENT_NAME.DEPT, JOB_GRADES

EX8. Chen 사원보다 늦게 입사한 사원의 이름과 입사일을 표시하는 질의를 작성 하시오.
SELECT LAST_NAME, HIRE_DATE
FROM DEPT, EMP
ON (WHERE LAST_NAME.DEPT=LAST_NAME.EMP);
================
SELECT E.LAST_NAME,E.HIRE_DATE
FROM EMP E, EMP E2
WHERE E2.LAST_NAME = "Chen"
AND E2.HIRE_DATE < E.HIRE_DATE;