MySQL 최대값 함수 생성

MySQLBeginner
지금 연습하기

소개

이 프로젝트에서는 두 개의 주어진 숫자 중 더 큰 값을 반환하는 MySQL 사용자 정의 함수를 만드는 방법을 배우게 됩니다. 이 프로젝트는 MySQL 에 접근하고, 데이터를 가져오고, 최대값 판단을 수행하는 함수를 개발하는 과정을 안내합니다.

👀 미리보기

MariaDB [edusys]> SELECT getMax(1, 3);
+--------------+
| getMax(1, 3) |
+--------------+
|            3 |
+--------------+
1 row in set (0.001 sec)

🎯 과제

이 프로젝트에서 다음을 배우게 됩니다:

  • 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하는 방법
  • SQL 스크립트에서 MySQL 로 데이터를 가져오는 방법
  • 두 개의 정수를 입력으로 받아 더 큰 값을 반환하는 MySQL 사용자 정의 함수를 만드는 방법

🏆 성과

이 프로젝트를 완료하면 다음을 수행할 수 있습니다:

  • MySQL 을 사용하고 사용자 정의 함수를 만드는 방법을 이해합니다.
  • 최대값 판단을 수행하는 함수를 개발합니다.
  • 실제 문제를 해결하기 위해 MySQL 지식을 적용합니다.

MySQL 접속 및 데이터 가져오기

이 단계에서는 비밀번호 없이 sudo 명령을 사용하여 MySQL 에 접근하고, 주어진 edusys.sql 스크립트에서 데이터를 MySQL 로 가져오는 방법을 배우게 됩니다.

  1. MySQL 데이터베이스를 시작합니다:
sudo service mysql start
  1. MySQL 에 접근합니다:
sudo mysql
  1. edusys.sql 스크립트에서 데이터를 가져옵니다:
SOURCE /home/labex/project/edusys.sql;
✨ 솔루션 확인 및 연습

getMax 함수 생성

이 단계에서는 두 개의 정수를 입력으로 받아 더 큰 값을 반환하는 사용자 정의 함수 getMax를 만드는 방법을 배우게 됩니다.

  1. getMax.sql 파일을 엽니다.
  2. 다음 스크립트를 추가하여 getMax 함수를 생성합니다:
-- 함수 본문 내에서 세미콜론 (;) 을 사용할 수 있도록 구분 기호를 //로 설정합니다.
DELIMITER //

-- 두 개의 정수를 입력으로 받아 최대값을 반환하는 getMax 라는 사용자 정의 함수를 생성합니다.
CREATE FUNCTION getMax(a INT, b INT)
RETURNS INT
BEGIN
  -- 최대값을 저장하기 위해 max_val 변수를 선언합니다.
  DECLARE max_val INT;

  -- 입력 값 a 와 b 를 비교합니다.
  IF a > b THEN
    SET max_val = a;
  ELSE
    SET max_val = b;
  END IF;

  -- 최대값을 반환합니다.
  RETURN max_val;
END //

-- 구분 기호를 기본 세미콜론 (;) 으로 다시 설정합니다.
DELIMITER ;
✨ 솔루션 확인 및 연습

getMax 함수 테스트

이 단계에서는 예제 쿼리를 실행하여 getMax 함수를 테스트하는 방법을 배우게 됩니다.

  1. MySQL 프롬프트에서 SQL 스크립트를 실행합니다:
SOURCE /home/labex/project/getMax.sql
  1. getMax 함수를 테스트하기 위해 다음 쿼리를 실행합니다:
SELECT getMax(1, 3);

출력 결과는 다음과 같아야 합니다:

+--------------+
| getMax(1, 3) |
+--------------+
|            3 |
+--------------+
1 row in set (0.001 sec)

축하합니다! 두 개의 주어진 숫자 중 더 큰 값을 반환하는 사용자 정의 함수 getMax를 성공적으로 생성했습니다.

✨ 솔루션 확인 및 연습

요약

축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.