[실무에서 바로 쓰는 SQL 기본과 SQL 튜닝][ORACLE] 25강

MinHee·2023년 5월 20일
0
post-thumbnail

최대 공약수 구하기

SELECT 16 NUM1, 24 NUM2
FROM DUAL;

WITH NUM_D AS ( SELECT 16 NUM1, 24 NUM2
FROM DUAL; )
SELECT LEVEL, MOD(NUM1, LEVEL), MOD(NUM2, LEVEL)
FROM NUM_D
CONNECT BY LEVER <= NUM2;

WITH NUM_D AS ( SELECT 16 NUM1, 24 NUM2
FROM DUAL; )
SELECT LEVEL, MOD(NUM1, LEVEL), MOD(NUM2, LEVEL)
FROM NUM_D
WHERE MOD(NUM1, LEVEL) = 0
AND MOD(NUM2, LEVEL) = O
CONNECT BY LEVER <= NUM2;

WITH NUM_D AS ( SELECT 16 NUM1, 24 NUM2
FROM DUAL; )
SELECT MAX(LEVEL) AS "최대 공약수"
FROM NUM_D
WHERE MOD(NUM1, LEVEL) = 0
AND MOD(NUM2, LEVEL) = O
CONNECT BY LEVER <= NUM2;

ACCEPT P_N1 PROMPT ' 첫번째 숫자를 입력하시오.';
ACCEPT P_N2 PROMPT ' 두번째 숫자를 입력하시오.';

WITH NUM_D AS ( SELECT 16 NUM1, 24 NUM2
FROM DUAL; )
SELECT NUM1, NUM2, (NUM1/MAX(LEVEL)) (NUM2/MAX(LEVEL)) MAX(LEVEL) AS "최소 공배수"
FROM NUM_D
WHERE MOD(NUM1, LEVEL) = 0
AND MOD(NUM2, LEVEL) = O
CONNECT BY LEVER <= NUM2;

profile
성장하는 개발자

0개의 댓글