반응형
예제. 직업이 SALESMAN인 사원의 이름, 월급, 직업을 출력하시오.
SELECT ename, sal, job
FROM emp
WHERE job = 'SALESMAN';
예제. 위의 SQL에서 출력되는 결과에 번호를 순서대로 앞에 부여하시오.
SELECT ROWNUM, ename, sal, job
FROM emp
WHERE job = 'SALESMAN';
문제 278. 위의 결과를 다시 출력하는데 월급이 높은 사원부터 출력하시오.
SELECT ROWNUM, ename, sal, job
FROM emp
WHERE job = 'SALESMAN'
ORDER BY sal DESC;
문제 279. 위의 결과에서 앞의 번호가 1,2,3,4로 나오게 하시오.
방법1. 서브쿼리
SELECT ROWNUM, ename, sal, job
FROM (SELECT ename, sal, job
FROM emp
WHERE job = 'SALESMAN'
ORDER BY 2 DESC);
order by 절이 먼저 수행될 수 있도록 from절의 서브쿼리로 감싸줘야 함
방법2. 서브쿼리 안쓰고 하는 방법
SELECT ROW_NUMBER() OVER (ORDER BY sal DESC), ename, sal, job
FROM emp
WHERE job = 'SALESMAN';
'Oracle DBA > SQL' 카테고리의 다른 글
057 출력되는 행 제한하기 2(Simple TOP-n Queries) (0) | 2023.06.30 |
---|---|
056 출력되는 행 제한하기 1(ROWNUM) (0) | 2023.06.30 |
054 : 데이터 분석 함수로 집계 결과 출력하기 3(GROUPING SETS) (0) | 2023.06.29 |
053 : 데이터 분석 함수로 집계 결과 출력하기 2(CUBE) (0) | 2023.06.29 |
052 : 데이터 분석 함수로 집계 결과 출력하기 1(ROLLUP) (0) | 2023.06.29 |