유용한 수학 함수
ABS, MOD, POWER 등을 알아봅니다.
유용한 수학 함수은(는) CoddyKit의 무료 SQL Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 SQL Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. SQL Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
수학 함수가 중요한 이유
SQL은 텍스트를 저장하고 가져오는 데만 사용되지 않습니다. 수치 계산을 수행하는 강력한 도구이기도 합니다. 기본 제공 수학 함수를 사용하면 쿼리를 벗어나지 않고도 절댓값, 나머지, 거듭제곱 등을 계산할 수 있습니다.
이 레슨에서는 SQL에서 가장 유용한 수치 함수인 ABS, MOD, POWER, SQRT, ROUND, CEIL, FLOOR, SIGN을 배웁니다.
ABS — 절댓값
ABS(n)은 숫자의 절댓값(음수가 아닌 값)을 반환합니다. 음수는 양수가 되고, 양수와 0은 그대로 유지됩니다.
방향보다 0에서 떨어진 거리가 중요할 때 유용합니다. 예를 들어 온도가 목표값보다 높은지 낮은지와 관계없이 목표값에서 얼마나 떨어져 있는지 계산할 때 사용할 수 있습니다.
SELECT ABS(-42), -- 42
ABS(15), -- 15
ABS(0); -- 0실제 쿼리에서 ABS 사용하기
출금액이 음수로 저장된 transactions 테이블을 생각해 보세요. ABS를 사용하면 방향과 관계없이 모든 금액을 양수로 표시할 수 있습니다.
CREATE TABLE transactions (
id INTEGER,
amount NUMERIC
);
INSERT INTO transactions VALUES (1, 200.00), (2, -50.00), (3, -120.00), (4, 80.00);
SELECT id,
amount,
ABS(amount) AS absolute_amount
FROM transactions;MOD — 나눗셈 후 나머지
MOD(피제수, 제수)는 첫 번째 숫자를 두 번째 숫자로 나눈 나머지를 반환합니다. 여러 프로그래밍 언어에서 사용하는 % 연산자에 해당하는 SQL 기능입니다.
대표적인 사용 사례는 숫자가 짝수인지 홀수인지 확인하는 것입니다. MOD(n, 2) = 0이면 짝수이고, 그렇지 않으면 홀수입니다.
SELECT MOD(10, 3), -- 1 (10 = 3*3 + 1)
MOD(15, 5), -- 0 (15 = 5*3 + 0)
MOD(7, 2); -- 1 (odd number)실제 쿼리에서 MOD 사용하기
MOD를 WHERE 절 안에서 사용해 행을 필터링할 수 있습니다. 여기서는 id가 짝수인 주문만 선택합니다.
CREATE TABLE orders (
id INTEGER,
total NUMERIC
);
INSERT INTO orders VALUES (1, 99.99), (2, 45.00), (3, 130.50), (4, 22.00), (5, 75.00), (6, 60.00);
SELECT id, total
FROM orders
WHERE MOD(id, 2) = 0;POWER — 지수로 거듭제곱하기
POWER(밑, 지수)는 숫자를 지정한 지수만큼 거듭제곱합니다. POWER(2, 10)은 1024를 반환하고, POWER(9, 0.5)는 9의 제곱근인 3을 반환합니다.
이 함수는 복리 계산, 넓이 공식 및 지수적 증가가 관련된 모든 상황에서 유용합니다.
SELECT POWER(2, 10), -- 1024
POWER(3, 3), -- 27
POWER(9, 0.5); -- 3 (square root)SQRT — 제곱근
SQRT(n)는 POWER(n, 0.5)를 간편하게 표현한 것입니다. 음이 아닌 숫자의 제곱근을 반환합니다.
예를 들어 정사각형 토지의 넓이를 저장했다면 SQRT(area)를 사용해 한 변의 길이를 구할 수 있습니다.
SELECT SQRT(25), -- 5
SQRT(2), -- 1.4142...
SQRT(100); -- 10ROUND — N개의 소수 자릿수로 반올림하기
ROUND(n, d)는 n을 소수점 아래 d자리까지 반올림합니다. d를 생략하거나 0을 전달하면 결과는 정수가 됩니다. d에 음수를 지정하면 소수점 왼쪽 자리를 기준으로 반올림합니다.
SELECT ROUND(3.14159, 2), -- 3.14
ROUND(2.555, 2), -- 2.56
ROUND(1234.5, -2), -- 1200
ROUND(9.9); -- 10CEIL과 FLOOR — 항상 올림 또는 내림하기
CEIL(n)(CEILING이라고도 씁니다)은 항상 가장 가까운 정수로 올림하고, FLOOR(n)은 항상 내림합니다.
행을 인쇄하는 데 필요한 페이지 수처럼 어떤 것의 최소 개수가 필요할 때는 CEIL을 사용하세요. 값보다 크지 않은 가장 큰 정수가 필요할 때(예: 경과한 완전한 주 수)는 FLOOR를 사용하세요.
SELECT CEIL(4.1), -- 5
CEIL(-4.1), -- -4
FLOOR(4.9), -- 4
FLOOR(-4.9); -- -5SIGN — 숫자의 방향은 무엇일까요?
SIGN(n)은 숫자가 양수이면 1, 음수이면 -1, 0이면 0을 반환합니다. CASE 식을 작성하지 않고도 수치 값을 빠르게 분류할 수 있습니다.
SELECT SIGN(42), -- 1
SIGN(-7), -- -1
SIGN(0); -- 0수학 함수 결합하기
수학 함수는 하나의 식 안에서 자유롭게 결합할 수 있습니다. 아래 예제는 ROUND와 POWER를 함께 사용해 단순한 대출의 월 상환액을 계산하며, 실제 업무 규칙에서 이러한 함수들이 어떻게 서로 보완되는지 보여 줍니다.
-- Monthly payment formula: P * r / (1 - (1+r)^-n)
-- P=10000, annual rate 6% (r=0.005/month), n=24 months
SELECT ROUND(
10000.0 * 0.005 / (1 - POWER(1 + 0.005, -24)),
2
) AS monthly_payment;빠른 확인
SQL 수학 함수에 대한 이해도를 확인해 보세요.
레슨 요약
잘하셨습니다! 이 레슨에서 배운 SQL 수학 함수를 요약하면 다음과 같습니다.
- ABS(n) — 절댓값(부호 제거)
- MOD(a, b) — a를 b로 나눈 나머지
- POWER(밑, 지수) — 숫자를 지정한 지수만큼 거듭제곱
- SQRT(n) — 제곱근
- ROUND(n, d) — 소수점 아래 d자리까지 반올림
- CEIL(n) — 항상 다음 정수로 올림
- FLOOR(n) — 항상 이전 정수로 내림
- SIGN(n) — 숫자의 부호에 따라 1, -1 또는 0 반환
이 함수들은 모든 주요 SQL 데이터베이스에서 사용할 수 있으며, 쿼리 안에서 중첩하거나 결합해 복잡한 수치 규칙을 직접 처리할 수 있습니다.
자주 묻는 질문
“유용한 수학 함수” 강의는 무료인가요?
네 — “유용한 수학 함수” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 SQL Academy 강의 전체를 잠금 해제할 수 있습니다. SQL Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“유용한 수학 함수”에서 뭘 배우나요?
ABS, MOD, POWER 등을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 SQL Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
SQL Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 SQL Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“유용한 수학 함수” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 SQL Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 SQL Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 산술 연산과 연산자
- 반올림과 버림
- 정수 나눗셈과 소수 나눗셈
- 유용한 수학 함수