깜놀하는 해므찌로

MariaDB MySQL Limit Oracle ROWNUM 변환 예시 본문

IT

MariaDB MySQL Limit Oracle ROWNUM 변환 예시

agnusdei1207 2022. 7. 12. 07:55
반응형
SMALL
SELECT
      	*
  FROM  TABLE_NAME
 WHERE	TABLE_NAME.SEQ = TABLE_NAME2.SEQ
 LIMIT  10
 
 
 
 
 
 
 
SELECT  FR_SEQ						   	    
     ,  DATE_FORMAT(FR_RGST_DT,'%Y.%m.%d') 
	 ,  F_USER_NM(FR_RGST_ID) 				
	 ,  FR_ATCH_FILE_ID 				
	 ,	FR_TITLE						
	 ,  FR_CONT 							
	 ,  FR_ID 						
	 ,  DATE_FORMAT(FR_DT,'%Y.%m.%d')	 
  FROM 	T_FREE
 WHERE	FR_USE_YN='Y'
 ORDER	BY FR_SEQ DESC
 LIMIT  #{firstIndex} , #{recordCountPerPage}

1. MaraDB / MySQL 변환전 코드

-- SQLINES LICENSE FOR EVALUATION USE ONLY
SELECT
      	*
  FROM  TABLE_NAME
 WHERE	TABLE_NAME.SEQ = TABLE_NAME2.SEQ AND rownum <= 10
 
 
 
-- SQLINES LICENSE FOR EVALUATION USE ONLY
SELECT	* FROM (SELECT FR_SEQ			
	 ,	TO_CHAR(FR_RGST_DT,'YYYY.MM.DD') 	
	 ,	F_USER_NM(FR_RGST_ID) 					
	 ,	FR_ATCH_FILE_ID 						
	 ,	FR_TITLE						  
	 ,	FR_CONT 						
	 ,	FR_ID 						
	 ,	TO_CHAR(FR_DT,'YYYY.MM.DD')			
  FROM	T_FREE
 WHERE	FR_USE_YN='Y'
 ORDER	BY FR_SEQ DESC
	 )  
  WHERE rownum <= #{firstIndex} , #{recordCountPerPage}

2. Oracle ROWNUM 적용된 모습

3. ORDER BY 절이 없는 경우에는 WHERE 에서 곧바로 비교한다.

반응형
LIST