티스토리에 MySQL과 오라클의 차이점을 정리한 적이 있는데,
거기서 적었던 것도 다시 보면 또 모른다ㅎ;
1. IFNULL(MAX(SORT_SEQ), 0)+1
- 시퀀스의 최대값이 NULL이면 -> 0으로 세팅 후 +1
(IFNULL는 오라클의 NVL)
2. SELECT CONCAT('문자열1','문자열2','문자열3');
3. (@ROWNUM := @ROWNUM + 1) / (SELECT @ROWNUM := 0)
- 페이징에 많이 이용
ORACLE에서 사용하던 ROWNUM 그대로 사용X MySQL에서 사용하는 방법
MySQL에서 @는 사용자 정의 변수
사용자 정의 변수 초기화 방법
SET @변수명 = 값 / @변수명 := 값
SELECT @변수명 := 값
SELECT는 FROM이나 WHERE 절에서 초기화
4. FOUND_ROWS()
5. SQL_CALC_FOUND_ROWS
- SELECT 쿼리에 사용되는 힌트, 반환되는 전체 row 개수 임시 저장
FOUND_ROWS()를 이용해 임시 저장한 개수를 반환하는데,
SQL_CALC_FOUND_ROWS를 사용한 SELECT절에 Limit 5를 설정해놔도
개수는 5가 나오지 않고 조건에 해당하는 전체 개수가 반환된다.