본문 바로가기
Oracle

[Oracle] SELECT문을 이용한 응용연습 해보기

by moveho 2022. 10. 18.

ORACLE DATA TABLE 자료를 SELECT문을 활용하여 유의미한 자료를 조회해보기로 했다.

처음에 생각한 유의미한 자료로는

'입사일이 빠를수록 연봉이 높을까?' 라는 생각으로 시작하게 됐다.

 

기본적으로 이 생각을 쿼리로 정리하여 풀어보려면

쿼리에서는 연봉 순으로 정렬하여 데이터 값을 표현하는게 중요하다고 생각하여

SALARY 데이터를 DESC 처리 하였다.

 

세부적으로는 알기 쉽게 HIRE_DATE, SALARY를 각각 "입사일", "연봉" 으로 치환하였다.

또한 높은 연봉순을 알고싶기에 상대적으로 낮은 SALARY 8000미만인 값은 제외시키기로 하여

WHERE 문과 비교연산자를 이용하여 8000미만인 값을 제외시켜 표현하였다.

 

그 후 또다른 궁금증이 생겼는데 '어떤 직군이 상위 랭크에 위치할까?' 라는 의문이였다

그래서 사용한것이 DECREMENT_ID, DECREMENT_NAME을 추가하여 데이터를 조회하였다

각각 다른테이블에 있어서 1:1연결을 시키기 위해 다음과 같은 쿼리문을 작성하였다.

 

이로서 특정직군 EXECUTIVE 가 상위 랭크 탑 3에 위치하여 EXECUTIVE 직군이 상위인 결과 값을 얻었다.

SELECT EMPLOYEE_ID, e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME, salary
FROM EMPLOYEES e,DEPARTMENTS d
WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID 
ORDER BY salary desc;

오라클 실행 모습

 

SELECT DEPARTMENT_NAME, LAST_NAME, HIRE_DATE "입사일", SALARY "연봉"
FROM EMPLOYEES, DEPARTMENTS
WHERE SALARY >= 8000 
ORDER BY SALARY DESC;


SELECT EMPLOYEE_ID, e.FIRST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME, salary
FROM EMPLOYEES e,DEPARTMENTS d
WHERE e.DEPARTMENT_ID = d.DEPARTMENT_ID 
ORDER BY salary desc;

사용한 쿼리문이다.

 

댓글