본문 바로가기

SQL Kit

월별 잡은 물고기 수 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적GROUP BY와 EXTRACT 함수를 활용하여 날짜 데이터를 특정 단위(월)로 그룹화하고, 각 월별 데이터를 집계하는 방법을 학습하기 위한 것입니다.2. 핵심개념EXTRACT 함수정의: 날짜/시간 데이터를 특정 요소(연도, 월, 일 등)로 추출하는 함수.EXTRACT(단위 FROM 날짜컬럼)예시: EXTRACT(MONTH FROM '2025-01-22') → 결과: 1GROUP BY정의: 데이터를 특정 컬럼 기준으로 그룹화하여 집계 작업을 수행할 수 있다.SELECT 컬럼, 집계함수(컬럼)FROM 테이블GROUP BY 컬럼;COUNT 함수정의: 특정 컬럼에서 행의 개수를 세는 집계 함수.SELECT COUNT(컬럼)FROM 테이블;NULL 값은 기본적으로 제외한다.WHERE 조건정의: 특정.. 더보기
물고기 종류 별 잡은 수 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적GROUP BY와 COUNT 함수를 활용하여 데이터를 그룹화하고 특정 컬럼 값을 기준으로 집계된 데이터를 정렬하여 추출하는 SQL 문법을 학습하기 위한 것입니다.2. 핵심개념GROUP BY정의: 데이터를 지정한 컬럼 기준으로 그룹화하여 집계 작업을 수행할 수 있게 한다.SELECT 컬럼1, 집계함수(컬럼2)FROM 테이블GROUP BY 컬럼1;COUNT 함수정의: 특정 컬럼에서 행의 개수를 세는 집계 함수.SELECT COUNT(컬럼)FROM 테이블;특징: NULL 값을 제외하고 행의 개수를 셀 수 있다.JOIN정의: 두 개 이상의 테이블을 연결하여 데이터를 조합하는 방법.SELECT *FROM 테이블1JOIN 테이블2ON 테이블1.공통컬럼 = 테이블2.공통컬럼;ORDER BY정의: 결과를 .. 더보기
노선별 평균 역 사이 거리 조회하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제 목적이 문제의 목적은 SQL에서 GROUP BY, SUM, AVG, ROUND, CONCAT, ORDER BY 등의 함수를 활용하여 데이터를 그룹화하고, 계산 및 포맷화하는 방법을 학습하는 것이다.지하철 노선별로 역 사이 거리의 총합과 평균을 계산하며, 결과를 보기 좋게 포맷화하고 정렬하여 출력하는 과정을 통해 집계 데이터 분석 및 결과의 가독성 향상 기술을 익힌다.이는 실무에서 대규모 데이터를 요약하고 통계 정보를 생성하는 데 유용한 기술이다.2. 핵심 개념GROUP BY정의: 데이터를 특정 열 값을 기준으로 그룹화하여 각 그룹별로 요약 결과를 반환.SELECT 열1, SUM(열2)FROM 테이블명GROUP BY 열1;2.2 SUM 함수정의: 특정 열의 값을 모두 더하여 합계를 반환하는 집계.. 더보기
조건에 맞는 사원 정보 조회하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제 목적JOIN, GROUP BY, 집계 함수(SUM), ORDER BY, LIMIT를 활용하여 데이터를 결합하고 특정 조건에 맞는 데이터를 효율적으로 조회하는 방법을 학습하는 것이다.2. 핵심 개념JOIN정의: 두 개 이상의 테이블을 결합하여 연관된 데이터를 조회.종류:LEFT JOIN: 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 공통된 데이터 반환.INNER JOIN: 두 테이블의 공통된 데이터만 반환.SELECT *FROM 테이블1INNER JOIN 테이블2ON 테이블1.공통열 = 테이블2.공통열;GROUP BY정의: 데이터를 특정 열 값으로 그룹화하여 집계 함수와 함께 사용.SELECT 열1, SUM(열2)FROM 테이블명GROUP BY 열1;SUM 함수정의: 주어진 열의 값을 모두 더하.. 더보기
가격대 별 상품 개수 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제 목적FLOOR 함수와 GROUP BY를 활용하여 데이터 범위를 동적으로 계산하고 그룹화하는 방법을 학습하는 것이다.숫자 데이터(PRICE)를 특정 단위(만 단위)로 그룹화하고 각 그룹별로 레코드의 개수를 계산하며 이를 정렬하여 결과를 출력하는 과정에서 숫자 기반 데이터 처리 및 집계 기술을 익히는 것을 목표로 한다.2. 핵심 개념FLOOR 함수정의: 숫자 값을 내림하여 가장 가까운 정수로 반환하는 함수.FLOOR(숫자 값)특징:숫자 데이터를 특정 단위로 그룹화하거나 범위를 설정할 때 유용하다.소수점을 제거하고 정수 값으로 내림 처리한다.FLOOR(19999 / 10000) * 10000 -- 결과: 10000COUNT 함수정의: 특정 열 또는 레코드의 개수를 계산하는 집계 함수.SELECT .. 더보기
입양 시각 구하기(1) [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제 목적GROUP BY, COUNT, EXTRACT 함수를 활용하여 특정 시간 범위 내에서 각 시간별 데이터 개수를 계산하고 이를 정렬하는 과정을 통해 데이터의 시간 기반 분석을 수행하는 기술을 익힌다.2. 핵심 개념EXTRACT 함수정의: 날짜와 시간 데이터에서 특정 부분(예: 연도, 월, 일, 시간 등)을 추출하는 함수.EXTRACT(단위 FROM 날짜열)단위: YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 등.예: EXTRACT(HOUR FROM '2022-01-01 10:30:00') → 10.COUNT 함수정의: 특정 열 또는 레코드의 개수를 계산하는 집계 함수.SELECT COUNT(*)FROM 테이블명;COUNT(*): 모든 레코드를 계산.COUNT(열 이름):.. 더보기
고양이와 개는 몇 마리 있을까 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제 목적GROUP BY와 COUNT를 활용하여 특정 조건에 따라 데이터를 그룹화하고 집계하는 방법을 학습하는 것이다.2. 핵심 개념GROUP BY정의: 데이터를 특정 열 값을 기준으로 그룹화하여 각 그룹별로 요약 결과를 반환한다.SELECT 열1, COUNT(*)FROM 테이블명GROUP BY 열1;주요 특징:결과는 그룹화된 열과 집계된 결과만 반환한다.GROUP BY는 반드시 집계 함수(COUNT, SUM 등)와 함께 사용된다.COUNT 함수정의: 특정 열 또는 레코드의 개수를 계산하는 함수.SELECT COUNT(*)FROM 테이블명;주요 특징:COUNT(열 이름): NULL이 아닌 값만 카운트.COUNT(*): 모든 레코드를 계산.2.3 ORDER BY정의: 결과를 특정 열을 기준으로 정렬... 더보기
ROOT 아이템 구하기 [ 프로그래머스 | SQL Kit | Level 2 ] 1. 문제목적트리 구조 데이터를 SQL로 탐색하는 방법을 학습하는 것이다.NULL 값의 처리 방법.테이블 조인(Join)을 통해 관련 데이터를 가져오는 방법.ORDER BY 절을 이용한 결과 정렬.2. 핵심개념NULL 값정의: NULL은 값이 없는 상태를 나타내며 부모-자식 관계에서 최상위(Root) 노드를 나타내는 데 자주 사용된다.SQL에서 IS NULL 조건을 사용해 NULL 값을 확인할 수 있다.JOIN정의: 두 개 이상의 테이블을 연결하여 데이터를 조회하는 데 사용된다.종류: INNER JOIN, LEFT JOIN, RIGHT JOIN 등이 있으며, 여기서는 INNER JOIN을 사용한다.SELECT columnsFROM table1JOIN table2 ON table1.column = tabl.. 더보기