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값이 아닌 것들만 조회했다.
'프로그래머스 문제풀이 > SQL (MYSQL)' 카테고리의 다른 글
[MYSQL] 프로그래머스 SQL 문제풀이 - Level 2 (8~9번 문제풀이) / level 1 (24/24) (0) | 2023.12.29 |
---|---|
[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (19~24번 문제풀이) - 1단계 모든 문제풀이 완료 (0) | 2023.11.16 |
[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (14~18번 문제풀이) (0) | 2023.11.15 |
[MYSQL] 프로그래머스 SQL 문제풀이 - Level 1 (1~13번 문제풀이) (1) | 2023.11.14 |
남건욱's 공부기록