프로그래머스 문제풀이/SQL (MYSQL)

[MYSQL] 프로그래머스 SQL 문제풀이 - Level 2 (1~7번 문제풀이) / level 1 (24/24)

남건욱 2023. 11. 22. 20:57
반응형
1. 최솟값 구하기

문제

SELECT MIN(DATETIME) AS 시간
FROM ANIMAL_INS

<작성한 코드>

ANIMAL_INS 테이블에서 MIN옵션을 주고 DATETIME을 조회하였다. 가장 작은 값을 조회하고 별칭은 시간으로 주었다.

 

 

 

 

 

2. 고양이와 개는 몇 마리 있을까

문제

SELECT ANIMAL_TYPE, COUNT(*) AS count
FROM ANIMAL_INS
GROUP BY ANIMAL_TYPE
HAVING ANIMAL_TYPE IN ('cat', 'dog')
ORDER BY ANIMAL_TYPE

<작성한 코드>

ANIMAL_INS 테이블에서 ANIMAL_TYPE과 개수를 조회하였다. 별칭은 count로 줬다. 그룹은 ANIMAL_TYPE으로 그룹핑해 주고 조건은 ANIMAL_TYPE이 cat, dog에 포함되는 것만 선택하였다. 그 뒤 정렬방식은 ANIMAL_TYPE을 기준으로 오름차순 정렬을 했다.

 

 

 

3. 동명 동물 수 찾기

문제

SELECT NAME, COUNT(*) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(*) >= 2
ORDER BY NAME

<작성한 코드>

ANIMAL_INS 테이블에서 NAME과 개수를 조회 했다. 조건은 NAME이 NULL값이 아닌 것들을 조회했고, 그룹은 NAME으로 정해줬다. 그룹의 조건은 COUNT가 2 이상일 때로 정해줬다. 정렬은 NAME을 기준으로 오름차순 정렬을 해줬다.

 

 

 

 

4. 루시와 엘라 찾기

문제

SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE
FROM ANIMAL_INS
WHERE NAME IN ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')

<작성한 코드>

ANIMAL_INS 테이블에서 ANIMAL_ID, NAME, SEX_UPON_INTAKE컬럼을 조회했다. 조건은 NAME이 Lucy, Ella, Pickle, Rogan, Sabrina, Mitty 중 포함되는 것들만 조회해 왔다.

 

 

 

 

5. 이름에 el이 들어가는 동물 찾기

문제

SELECT ANIMAL_ID, NAME
FROM ANIMAL_INS
WHERE ANIMAL_TYPE = 'Dog' AND NAME LIKE '%el%'
ORDER BY NAME

<작성한 코드>

ANIMAL_INS 테이블에서 ANIMAL_ID, NAME 칼럼을 조회했다. 조건은 ANIMAL_TYPE이 Dog이고 NAME이 el이 포함되는 것들만 조회했다. 정렬은 NAME을 기준으로 오름차순 정렬을 해줬다.

 

 

 

 

6. 동물 수 구하기

문제

SELECT count(*) AS count
FROM ANIMAL_INS

<작성한 코드>

ANIMAL_INS 테이블에서 모든 레코드 개수를 조회하였다.

 

 

 

7. 중복 제거하기

문제

SELECT COUNT(DISTINCT NAME) AS count
FROM ANIMAL_INS
WHERE NAME IS NOT NULL

<작성한 코드>

ANIMAL_INS 테이블에서 NAME을 조회했다. 이때 DISTINCT를 사용해서 중복되는 요소는 개수로 포함하지 않는다. 별칭은 count로 설정해 줬다. 조건은 NAME이 NULL값이 아닌 것들만 조회했다.

반응형
프로필사진

남건욱's 공부기록