목표: getPrevNotice 메서드의 SQL 쿼리를 작성한다. ID가 5인 NOTICE의 REGDATE가 NOTICE의 REGDATE보다 작은 ID를 출력 -> 2, 3, 4로 출력되어있다. 4가 출력해야 하는데 순서가 반대로 되어있다. NOTICE를 REGDATE로 역 정렬한 후의 NOTICE내의 REGDATE와 ID가 5인 REGDATE보다 작은 경우의 아이디를 출력 -> 4, 3, 2 순으로 잘 정렬되어있다. SQL 코드: getPrevNotice함수 구현 SELECT ID FROM (SELECT * FROM NOTICE ORDER BY REGDATE DESC) WHERE REGDATE < (SELECT REGDATE FROM NOTICE WHERE ID=5) AND ROWNUM = 1 SELE..
목표 : 페이징을 위한 쿼리 만들기 Notice테이블 출력 SELECT * FROM NOTICE; 실행결과의 일련번호가 필요하다. 일렵번호를 ROWNUM을 사용해 출력 SELECT ROWNUM, NOTICE.* FROM NOTICE; 10줄만 출력을 위한 필터링 WHERE SELECT ROWNUM, NOTICE.* FROM NOTICE WHERE ROWNUM BETWEEN 1 AND 10; 2~10까지는 출력 불가. 이유 : rownum은 sql결과 셋에 순서를 부여하는 가상컬럼이다. fetch단계에서 추출하는 첫번째 row에 1을 부여하고, 이후 row가 추출될때마다 rownum의 값을 순차적으로 증가시킨다. 하지만 이 쿼리문에서는 rownum을 1-10까지 순서대로 증가시킬 경우라 출력이 가능하지만,..