SQL 문제 풀이 3회차 세션 해설
SQL(Structured Query Language)은 데이터베이스 관리와 쿼리 작성을 위한 중요한 언어입니다. 이번 글에서는 SQL 문제 풀이 3회차 세션에서 다룬 주요 내용을 상세히 해설하겠습니다.
세션에서 다룬 주제는 집계 함수, GROUP BY, HAVING, 서브쿼리 등으로, 이들 개념은 SQL에서 데이터를 효과적으로 분석하고 요약하는 데 필수적입니다.
집계 함수의 이해
집계 함수는 SQL에서 데이터를 요약하는 데 사용되는 함수입니다. 기본적으로 COUNT, SUM, AVG, MAX, MIN과 같은 함수가 있으며, 이들은 각각 특정한 작업을 수행합니다.
예를 들어, COUNT 함수는 개체의 수를 세고, SUM 함수는 수치 데이터를 더하며, AVG 함수는 평균값을 구합니다. 이러한 함수들은 데이터 분석과 보고서 작성에 매우 유용합니다.
집계 함수 예시
아래 표는 직원 테이블에서 부서별 평균 급여를 계산하는 예시를 보여줍니다.
부서 | 평균 급여 |
---|---|
인사부 | 4,500,000 |
개발부 | 5,200,000 |
마케팅부 | 4,000,000 |
위의 SQL 쿼리는 다음과 같습니다.
SELECT 부서, AVG(급여) AS 평균_급여
FROM 직원
GROUP BY 부서;
이 쿼리는 직원 테이블에서 부서별로 급여의 평균을 계산하고, 그 결과를 부서와 함께 출력합니다.
GROUP BY의 역할
GROUP BY 절은 쿼리 결과를 특정 컬럼을 기준으로 그룹화할 때 사용됩니다. 이를 통해 집계 함수를 효과적으로 사용할 수 있습니다.
GROUP BY는 SELECT 문과 함께 사용되며, 집계 함수와 결합하여 데이터 분석을 더욱 용이하게 만듭니다.
GROUP BY 예시
아래의 표는 판매 데이터에서 각 제품군별 판매량을 보여줍니다.
제품군 | 판매량 |
---|---|
전자기기 | 150 |
가전제품 | 120 |
의류 | 200 |
이 데이터를 집계하기 위한 SQL 쿼리는 다음과 같습니다.
SELECT 제품군, SUM(판매량) AS 총_판매량
FROM 판매
GROUP BY 제품군;
이 쿼리는 판매 테이블에서 제품군별로 판매량을 합산하여 보여줍니다.
HAVING 절의 필요성
HAVING 절은 GROUP BY로 그룹화된 데이터에 대해 조건을 추가할 때 사용됩니다. WHERE 절과 유사하지만, HAVING은 집계 함수와 함께 사용되기 때문에 그룹화된 결과에 대한 필터링을 수행할 수 있습니다.
HAVING 예시
아래의 표는 부서별 직원 수가 5명 이상인 부서의 목록을 보여줍니다.
부서 | 직원 수 |
---|---|
개발부 | 10 |
마케팅부 | 8 |
이 데이터를 추출하기 위한 SQL 쿼리는 다음과 같습니다.
SELECT 부서, COUNT(*) AS 직원_수
FROM 직원
GROUP BY 부서
HAVING COUNT(*) >= 5;
이 쿼리는 직원 테이블에서 부서별로 직원 수를 계산한 후, 직원 수가 5명 이상인 부서만 필터링합니다.
서브쿼리의 활용
서브쿼리는 다른 쿼리의 결과를 사용하는 쿼리입니다. 복잡한 데이터 분석과 관련된 작업에서 유용하게 사용되며, SQL의 강력한 기능 중 하나입니다.
서브쿼리는 SELECT, INSERT, UPDATE, DELETE 문에서 모두 사용할 수 있습니다.
서브쿼리 예시
아래의 표는 평균 급여보다 높은 급여를 받는 직원의 목록을 보여줍니다.
직원명 | 급여 |
---|---|
홍길동 | 5,500,000 |
이순신 | 6,000,000 |
이 데이터를 추출하기 위한 SQL 쿼리는 다음과 같습니다.
SELECT 직원명, 급여
FROM 직원
WHERE 급여 > (SELECT AVG(급여) FROM 직원);
이 쿼리는 직원 테이블에서 평균 급여를 계산한 후, 그보다 높은 급여를 받는 직원의 목록을 찾습니다.
SQL 문제 풀이 세션 요약
SQL 문제 풀이 3회차 세션에서는 집계 함수, GROUP BY, HAVING, 서브쿼리의 개념을 심층적으로 다루었습니다. 이러한 기술들은 데이터베이스에서 정보를 효과적으로 추출하고 분석하는 데 필수적입니다.
각 개념은 서로 연결되어 있으며, 실제 데이터베이스 작업 시 자주 사용됩니다. 이와 같은 SQL의 활용법을 익히면 데이터 분석 능력이 향상되고, 더 나아가 업무에서의 효율성을 높일 수 있습니다.
다음 SQL 세션에서는 다른 데이터베이스 개념들을 다룰 예정이며, 이를 통해 더 깊이 있는 SQL 실력을 기를 수 있을 것입니다. 이상으로 SQL 문제 풀이 3회차 세션에 대한 해설을 마치겠습니다.
SQL의 다양한 함수와 개념들을 활용하여 데이터베이스를 보다 효과적으로 관리하고 분석하는 데 기여할 수 있기를 바랍니다.
관련 영상
같이보면 좋은 글
SQL 응용 문제 해설 - 5회차 문제 풀이 분석
이번 글에서는 SQL 응용 문제에 대한 해설과 함께 각 문제의 풀이 과정을 상세히 분석해보겠습니다. SQL은 데이터베이스와의 상호작용에서 기본적으로 사용되는 언어로, 데이터의 조회, 삽입, 갱
koreainfoman.tistory.com
SQL 실습 4주차 핵심 내용 요약
SQL(Structured Query Language)은 데이터베이스를 관리하고 쿼리를 작성하는 데 필수적인 언어입니다. 데이터 분석, 웹 개발, 비즈니스 인텔리전스 등 다양한 분야에서 널리 사용되고 있습니다. 이번 글
koreainfoman.tistory.com
데이터 리터러시 문제 정의에서 결론 도출까지의 종합 분석
데이터 리터러시란 데이터를 알아보고 활용할 수 있는 능력을 의미합니다. 이는 단순히 데이터를 읽고 해석하는 것을 넘어, 데이터를 통해 얻은 정보가 실제로 어떻게 활용될 수 있는지를 분석
koreainfoman.tistory.com