SQL - MIN()과 MAX() 함수: 극치의 힘을 발휘하다
안녕하세요, SQL 열정가 여러분! 오늘 우리는 SQL에서 두 가지 매우 유용한 함수를 배울 것입니다: MIN()과 MAX(). 이 함수들은 데이터 분석의 슈퍼 헴어로, 데이터셋에서 가장 작은 값과 가장 큰 값을 찾아내는 능력을 가지고 있습니다. 그럼 앉아 이 흥미로운 여정을 함께 떠나보겠습니다!
기본 이해
먼저, 이 함수들이 무엇을 하는지 이해해 보겠습니다. 상상해 보세요, 당신이 (나처럼) 교사로서 성적부에 가득 찬 시험 점수가 있는 경우. 가장 높은 점수와 가장 낮은 점수를 빠르게 찾고 싶다면 MIN()과 MAX()를 사용할 것입니다. SQL에서 이 함수들은 이와 같은 작업을 어떤 종류의 데이터라도 처리할 수 있습니다.
SQL MAX() 함수: 별을 찾아가다
MAX()는 무엇인가?
MAX() 함수는 이름 그대로의 기능을 합니다 - 값의 집합에서 최대 값을 반환합니다. 이는 마치 긴 목록에서 가장 큰 숫자를瞬间에 발견할 수 있는 매우 효율적인 비서가 있는 것과 같습니다.
기본 문법
MAX() 함수를 사용하는 방법은 다음과 같습니다:
SELECT MAX(column_name) FROM table_name;
실제 예제
가령 students
테이블이 있고, test_score
열이 있다고 가정해 봅시다. 가장 높은 시험 점수를 찾기 위해 다음과 같이 작성합니다:
SELECT MAX(test_score) FROM students;
이 쿼리는 테이블 전체에서 가장 높은 시험 점수를 단일 값으로 반환합니다.
하지만 더 많은 정보를 알고 싶다면? 더 정교하게 만들어 보겠습니다:
SELECT student_name, test_score
FROM students
WHERE test_score = (SELECT MAX(test_score) FROM students);
이 쿼리는 가장 높은 점수를 받은 학생(들)의 이름과 점수를 반환합니다. 마치 졸업생 연설자를 발표하는 것과 같습니다!
MAX()와 GROUP BY
이제 각 과목별로 가장 높은 점수를 찾고 싶다면, MAX()를 GROUP BY와 함께 사용할 수 있습니다:
SELECT subject, MAX(test_score) AS highest_score
FROM students
GROUP BY subject;
이 쿼리는 각 과목별로 가장 높은 점수를 보여줍니다. 마치 각 카테고리에 대한 명예의 전당과 같습니다!
SQL MIN() 함수: 티격태그 속 다이아몬드 찾기
MIN()은 무엇인가?
MAX()가 가장 높은 값을 찾는다면, MIN()은 가장 낮은 값을 찾습니다. 마찬가지로 강력하지만, 반대 방향으로 작동합니다.
기본 문법
MIN()의 문법은 MAX()와 매우 유사합니다:
SELECT MIN(column_name) FROM table_name;
실제 예제
다시 students
테이블을 사용하여 가장 낮은 시험 점수를 찾아보겠습니다:
SELECT MIN(test_score) FROM students;
이는 테이블에서 가장 낮은 점수를 반환합니다. 하지만 각 점수는 학생의 노력을 나타내므로, 추가적인 지원이 필요한 학생을 찾아보겠습니다:
SELECT student_name, test_score
FROM students
WHERE test_score = (SELECT MIN(test_score) FROM students);
이 쿼리는 가장 낮은 점수를 받은 학생(들)의 이름과 점수를 보여줍니다.
MIN()과 GROUP BY
MAX()와 마찬가지로, MIN()도 GROUP BY와 함께 사용할 수 있습니다. 각 과목별로 가장 낮은 점수를 찾기 위해:
SELECT subject, MIN(test_score) AS lowest_score
FROM students
GROUP BY subject;
이는 각 과목별로 가장 낮은 점수를 식별하는 데 도움이 됩니다. 과정에서 더 많은 주의가 필요한 과목을 찾을 수 있습니다.
MIN()과 MAX() 결합: 동적인 듀오
이제 두 함수를 함께 사용해 보겠습니다! 단일 쿼리에서 MIN()과 MAX()를 모두 사용하여 값의 범위를 얻을 수 있습니다:
SELECT
subject,
MIN(test_score) AS lowest_score,
MAX(test_score) AS highest_score,
MAX(test_score) - MIN(test_score) AS score_range
FROM students
GROUP BY subject;
이 쿼리는 각 과목별로 가장 낮은 점수, 가장 높은 점수 및 점수 범위를 종합적으로 보여줍니다. 마치 학생들의 성과에 대한 전체적인鸟瞰図를 얻는 것과 같습니다!
NULL 값에 대한 주의사항
중요한 점 하나를 기억하세요: MIN()과 MAX()는 NULL 값을 무시합니다. 열에 NULL 값이 포함된 경우, 이 함수들은 NULL 값이 아닌 값들 중에서 최소 또는 최대 값을 반환합니다. 마치 NULL 값을 특별히 인식하여 실제 데이터에 집중할 수 있는 특별한 NULL 탐지기가 있는 것과 같습니다.
결론: 극치를 마스터하다
이제 여러분은 SQL의 MIN()과 MAX() 함수의 세계를 탐험했습니다. 이 강력한 도구들은 우리의 데이터에서 빠르게 극치를 찾을 수 있게 해줍니다. 최고의 성과를 이루는 사람들, 개선이 필요한 분야, 또는 단순히 데이터의 범위를 이해하려는 경우에 유용합니다.
데이터의 각 값은 이야기를 전하고 있습니다. MIN()과 MAX()는 우리가 이 이야기의 시작과 끝을 찾아내는 데 도움을 주어, 결정과 개선을 이끌어냅니다.
SQL 여정을 계속하면서, 이 함수들을 도구 상자에 넣어 두세요. 이들은 간단하면서도 강력하며, 자주 사용하게 될 것입니다. 즐겁게 쿼리 작성하고, 데이터가 항상 흥미로운 이야기를 전해주기를 바랍니다!
함수 | 설명 | 예제 |
---|---|---|
MAX() | 값의 집합에서 최대 값을 반환 | SELECT MAX(column_name) FROM table_name; |
MIN() | 값의 집합에서 최소 값을 반환 | SELECT MIN(column_name) FROM table_name; |
Credits: Image by storyset