LEAST
함수는 SQL에서 여러 값 중에서 **가장 작은 값(최소값)**을 반환해. 숫자, 날짜, 문자열까지 비교할 수 있어서 다양하게 활용할 수 있어.
다만, NULL 값이 하나라도 있으면 결과는 NULL이 되기 때문에 주의해야 해!
문법
sql코드 복사SELECT LEAST(value1, value2, ..., valueN) AS min_value
FROM table_name;
1. 숫자 비교 예시
문제: 학생의 국어, 수학, 영어 점수 중에서 최저 점수를 구하라.
SELECT
name,
LEAST(korean_score, math_score, english_score) AS lowest_score
FROM students;
결과
name | korean_score | math_score | english_score | lowest_score |
---|---|---|---|---|
홍길동 | 85 | 90 | 88 | 85 |
김영희 | 75 | 80 | 95 | 75 |
이철수 | 65 | 60 | 70 | 60 |
2. 날짜 비교 예시
문제: 프로젝트 시작일, 종료일, 업데이트 날짜 중 가장 빠른 날짜를 구하라.
SELECT
project_name,
LEAST(start_date, end_date, updated_date) AS earliest_date
FROM projects;
결과
project_name | start_date | end_date | updated_date | earliest_date |
---|---|---|---|---|
프로젝트1 | 2024-06-01 | 2024-06-15 | 2024-06-20 | 2024-06-01 |
프로젝트2 | 2024-05-10 | 2024-06-05 | 2024-05-25 | 2024-05-10 |
3. 문자열 비교 예시
문제: 문자열 중 알파벳 순서에서 가장 앞에 오는 단어를 구하라.
SELECT
LEAST('apple', 'banana', 'grape') AS first_word;
결과
first_word |
---|
apple |
- 설명: 문자열은 알파벳 순서(ASCII 코드 순서)로 비교해.
4. NULL 처리 주의사항
만약 값 중 하나라도 NULL
이 존재하면 결과는 NULL이 돼. 이를 피하기 위해 COALESCE
를 사용해서 NULL 값을 다른 값으로 대체해줘.
문제: NULL 값이 있을 때 최소값 구하기
SELECT
LEAST(COALESCE(score1, 0), COALESCE(score2, 0), COALESCE(score3, 0)) AS min_score
FROM students;
COALESCE
함수는 NULL 값을 0으로 바꿔주기 때문에 결과가 정상적으로 반환돼.
정리
- 숫자, 날짜, 문자열 모두에서 최소값을 찾을 수 있어.
- NULL 값이 포함되면 결과는 NULL이므로 필요시
COALESCE
와 함께 사용하면 좋아. - 여러 조건을 한 번에 비교해야 할 때
LEAST
는 깔끔하고 직관적이야.
이제 LEAST
함수를 잘 활용해서 최소값을 쉽게 찾아보자! 🚀
답글 남기기