반응형
⬛SQL 단일 함수 실습 예제 👩💻
--문제1) 사원테이블에서 입사일이 12월인 사원의 사번, 사원명, 입사일 검색하시오.
--방법1)
SELECT EMPNO, ENAME, HIREDATE
FROM EMP
WHERE HIREDATE LIKE '__/12/__';
--방법2)
--아래와 같이 TO_CHAR 사용하는 방법이 더 효율적임.
SELECT EMPNO, ENAME, HIREDATE FROM EMP WHERE TO_CHAR(HIREDATE, 'MM')='12';
--문제2)다음과 같은 결과를 검색할 수 있는 SQL 문장을 작성하시오.
SELECT EMPNO, ENAME, LPAD(SAL, 10, '*') "급여"
FROM EMP;
--문제3)다음과 같은 결과를 검색할수 있는 SQL 문장을 작성하시오.
SELECT EMPNO, ENAME, TO_CHAR(HIREDATE, 'YYYY-MM-DD') "입사일"
FROM EMP;
⬛SQL 그룹 함수 실습 예제 👩💻
--문제1)사원테이블에서 부서별 인원수가 6명 이상인 부서코드 검색
--문제에는 부서코드만 검색하라고 했지만, 확인해보려고 인원수도 검색함.
SELECT DEPTNO, COUNT(*)"인원수"
FROM EMP
GROUP BY DEPTNO HAVING COUNT(*)>=6 ;
--문제2)사원테이블로부터 부서번호, 업무별 급여 합계를 계산하고자 한다.
--다음과 같은 결과를 출력할 수 있는 SQL문장 작성
SELECT DEPTNO,
SUM(DECODE(JOB, 'CLERK', SAL)) CLERK,
SUM(DECODE(JOB, 'MANAGER', SAL)) MANAGER,
SUM(DECODE(JOB, 'PRESIDENT', SAL)) PRESIDENT,
SUM(DECODE(JOB, 'ANALYST', SAL)) ANALYST,
SUM(DECODE(JOB, 'SALESMAN', SAL)) SALESMAN
FROM EMP
GROUP BY DEPTNO
ORDER BY DEPTNO;
--문제3)사원테이블로부터 년도별, 월별 급여 합계를 출력할 수 있는 SQL 문장 작성
SELECT TO_CHAR(hiredate,'YYYY') 년,
TO_CHAR(hiredate, 'MM') 월,
SUM(SAL)
FROM emp
GROUP BY TO_CHAR(hiredate,'YYYY'), TO_CHAR(hiredate, 'MM')
ORDER BY TO_CHAR(hiredate,'YYYY'), TO_CHAR(hiredate, 'MM') ;
--ORDER BY 뒤에는 Alias명을 써주는게 더 깔끔함
--GROUP BY 뒤에는 Alias명 못쓰니까 함수 그대로 써줘야함
SELECT TO_CHAR(hiredate,'YYYY') 년,
TO_CHAR(hiredate, 'MM') 월,
SUM(SAL)
FROM emp
GROUP BY TO_CHAR(hiredate,'YYYY'), TO_CHAR(hiredate, 'MM')
ORDER BY 년, 월;
--문제4)사원테이블에서 부서별 COMM(커미션)을 포함하지 않은 연봉의 합과 포함한 연봉의 합을 구하는 SQL을 작성
--문제4-1)커미션 미포함 연봉
SELECT DEPTNO, SUM(SAL)*12 "연봉"
FROM EMP
GROUP BY DEPTNO
ORDER BY DEPTNO;
--문제4-2)커미션 포함 연봉
SELECT DEPTNO, SUM(SAL+NVL(COMM, 0))*12 "연봉"
FROM EMP
GROUP BY DEPTNO
ORDER BY DEPTNO;
--문제5)사원테이블에서 SALESMAN을 제외한 JOB별 급여합계
SELECT job, SUM(sal)
FROM emp
GROUP BY job HAVING job<>('SALESMAN');
반응형
'Database > Oracle' 카테고리의 다른 글
[SQL-Oracle]JOIN함수 실습 예제👩💻 (1) | 2023.11.30 |
---|---|
[SQL-Oracle]JOIN 함수 (1) | 2023.11.30 |
[SQL-Oracle]함수(Function) - 그룹함수 ★중요★ - count, max, min, sum, avg, group by, having (2) | 2023.11.30 |
[SQL-Oracle]함수(Function) - 일반함수 -NVL, DECODE (2) | 2023.11.30 |
[SQL-Oracle]함수(Function) - 변환함수 - TO_CHAR, TO_NUMBER, TO_DATE (0) | 2023.11.29 |