[SQL] 프로그래머스 SQL 고득점 kit (3)

이정진·2021년 9월 27일
0

SQL

목록 보기
3/23
post-thumbnail

최댓값 구하기

SQL 구분 : SUM, MAX, MIN

문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

가장 최근에 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

문제 풀이

최근에 들어온 동물을 찾아야 하므로, DATETIME이 가장 큰 경우를 찾으면 되는 문제였다.

SQL

SELECT max(DATETIME) as 시간
from ANIMAL_INS

최솟값 구하기

SQL 구분 : SUM, MAX, MIN

문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해주세요.

문제 풀이

가장 먼저 들어온 동물을 찾아야 하므로, DATETIME이 가장 작은 경우를 찾으면 되는 문제였다.

SQL

SELECT min(DATETIME) as 시간 
from ANIMAL_INS

동물 수 구하기

SQL 구분 : COUNT

문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 동물이 몇 마리 들어왔는지 조회하는 SQL 문을 작성해주세요.

문제 풀이

count(*)로 ANIMAL_INS의 총 행수를 구하면 되는 문제였다.

SQL

SELECT count(*) as count
from ANIMAL_INS

중복 제거하기

SQL 구분 : COUNT, DISTINCT

문제

ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.

동물 보호소에 들어온 동물의 이름은 몇 개인지 조회하는 SQL 문을 작성해주세요. 이때 이름이 NULL인 경우는 집계하지 않으며 중복되는 이름은 하나로 칩니다.

문제 풀이

중복이 제거되어야 하기에, distinct를 이용하여 NAME의 중복제거를 진행하였으며, 중복 제거된 NAME의 총 열수를 구해야 하기에 count(distinct NAME)으로 구하면 되는 문제였다.

SQL

SELECT count(distinct NAME) as count
from ANIMAL_INS

0개의 댓글