RAND 함수: 랜덤한 숫자를 불러오는 함수
--i와 j 사이의 정수 R을 구하는 쿼리
-- FLOOR(i + RAND() * (j − i))
--7과 12사이의 정수
SELECT FLOOR(7 + (RAND() * 5));
ORDER BY와 함께 사용하면, 랜덤한 순서로 데이터를 조회할 수 있다.
-- customers에 있는 값을 랜덤으로 조회
SELECT *
FROM customers
ORDER BY rand();
-- customers에 있는 값을 랜덤으로 10개만 조회
SELECT *
FROM customers
ORDER BY rand()
LIMIT 10;
-- 나이가 30 이상인 직원 중 랜덤하게 3명 추출
SELECT *
FROM employees
WHERE age >= 30
ORDER BY RAND()
LIMIT 3;
한계 :
- 데이터셋이 클수록 처리 과정이 느리다. → LIMIT을 사용해 작성한 쿼리가 정상적으로 작동하는지 확인 가능!
- 대규모 데이터에서 정렬시 메모리 사용량이 증가한다.
- 10만 행 이하의 데이터셋에서 사용하는 것을 권장.
'내일배움캠프 > SQL' 카테고리의 다른 글
[SQL]서브쿼리(Subquery)의 특징과 분류 (1) | 2024.12.02 |
---|---|
[SQL]SELF JOIN,UNION_SQL에서 FULL OUTER JOIN 구현하기 (0) | 2024.12.02 |
[DBeaver]My SQL 연결, No database selected 에러, 단축키 (1) | 2024.11.27 |
[SQL]코딩순서와 실행 순서, WHERE, HAVING 차이 (0) | 2024.11.27 |
[SQL]WHERE절의 부정연산자_ !=, <>, NOT,NULL값이 아닐 때 (0) | 2024.11.27 |