티스토리 뷰

반응형

목표:
getNextNotice 메서드의 SQL 쿼리를 작성한다.

 

SQL 코드:
getNextNotice함수 구현

SELECT * FROM NOTICE
WHERE ID  = (
    SELECT ID FROM NOTICE 
WHERE REGDATE > (SELECT REGDATE  FROM NOTICE WHERE ID=3) 
AND ROWNUM = 1);

SELECT * FROM NOTICE
☞ NOTICE의 모든 데이터를 가져온다. 
WHERE ID  = ( 
☞ ID 값이 서브쿼리 인 경우를 선택한 후
SELECT ID FROM NOTICE
☞ NOTICE의 ID를 선택하는 서브 쿼리
WHERE REGDATE > (SELECT REGDATE  FROM NOTICE WHERE ID=3)
☞ ID가 3인 NOTICE로부터 REGDATE를 가져오는 서브 쿼리보다 현재 REGDATE보다 클 경우
AND ROWNUM = 1);
☞ ROWNUM가 1인 경우

정리  ID가 3인 NOTICE로부터 REGDATE를 가져오는 서브 쿼리보다 현재 REGDATE보다 크고 ROWNUM이 1인 경우의 NOTICE의 ID를 선택하는 서브 쿼리로부터의 ID를 NOTICE로부터 찾아서 출력한다.

 

자바 코드:

- NoticeService.java

	public Notice getNextNotice(int id) {
		String sql = "SELECT * FROM NOTICE "
				+ "WHERE ID  = ( "
				+ "SELECT ID FROM NOTICE "
				+ "WHERE REGDATE > (SELECT REGDATE  FROM NOTICE WHERE ID=3) "
				+ "AND ROWNUM = 1)";
		return null;
	}

 

 

반응형
댓글
공지사항