Spring 6일차

MOZZI KIM·2022년 12월 13일
0

Spring

목록 보기
6/8
post-thumbnail

1. http://localhost:8282/emp/list paing처리된 list 를 출력하시오.


2.rownum 에 대하여 설명하시오.

📌 ROWNUM 이란?

조회된 순서대로 순번을 매긴다.

SELECT ROWNUM
     , a.*   
  FROM emp a

ORDER BY 를 사용하면 순번이 뒤섞이므로 정렬된 서브쿼리 결과에 ROWNUM 을 매겨야 한다.

SELECT ROWNUM      
     , x.*   
  FROM ( SELECT a.*            
           FROM emp a           
          ORDER BY a.ename        
        ) x

3.아래의 쿼리를 완성하시오.

--관리자 번호 및 해당 관리자에 속한 사원들의 최저 급여를 출력하라.
--단 관리자가 없는 사원 및 최저급여가 1000미만인 그룹을 제외시키고 급여를 기준으로 (내림차순으로) 출력
SELECT MGR, MIN(SAL) FROM EMP WHERE MGR IS NOT NULL 
GROUP BY MGR HAVING MIN(SAL) >= 1000 ORDER BY MIN(SAL) DESC;

--관리자 수를 출력하되 관리자 번호가 중복되지 않게하라 그리고 컬럼명을 number of manager로 지정하여 출력하라.
SELECT COUNT(DISTINCT(MGR)) AS "Number of Manager" FROM EMP;

- 부서별로 부서이름, 부서위치, 사원 수 및 평균 급여를 출력하라.
그리고 각각의 컬럼명을 부서명,위치,사원의 수,평균급여로 표시하라.

SELECT D.DNAME, D.LOC, COUNT(E.EMPNO), AVG(E.SAL) AS AVG 
FROM EMP E, DEPT D 
WHERE D.DEPTNO = E.DEPTNO GROUP BY D.DNAME, D.LOC;

 - 페이징을 위한 mvc_board 쿼리
  SELECT * FROM (
			     SELECT ROWNUM AS RNUM, A.* FROM (
			        		SELECT
			                    *
			                FROM
			                    mvc_board 
			                order by bGroup desc, bStep asc   
			    ) A WHERE ROWNUM <= #{pageNum} * #{amount}
			) WHERE RNUM > (#{pageNum}-1) * #{amount}

4.페이징 처리를 위한 순서를 정리하시오.

  1. 페이징 테스트를 위한 데이터 만들기
  2. Pagination 클래스 만들기
  3. 게시판 목록 조회 SQL의 수정 및 전체 게시글 수 알아오기
  4. 총 개시글 개수 확인을 위한 BoardDAO, BoardService의 수정(메소드 추가)
  5. BoardController의 수정
  6. 게시글을 읽어 오기 위한 BoardDAO, BoardService의 수정(getBoardList 메소드 수정)
  7. 게시판 목록 화면(index) 수정
profile
코린이

0개의 댓글