내일배움캠프/SQL

[SQL]RAND함수

dydatablog 2024. 11. 28. 16:32

 

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만 행 이하의 데이터셋에서 사용하는 것을 권장.