[프로그래머스 SQL] 동명 동물 수 찾기프로그래머스 SQL 문제 해설2022. 2. 20. 13:20
Table of Contents
문제 링크 https://programmers.co.kr/learn/courses/30/lessons/59041
이 문제는 WHERE 조건문과, HAVING 조건문의 차이를 알고 있어야만 풀 수 있는 문제입니다.
모든 동물의 명을 세는데, NULL인 경우는 제외하고 중복되지 않는 경우도 제외합니다.
그 후에는 이름 순으로 정렬합니다.
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME ASC
문제 해설
- WHERE으로 NULL인것을 거르고,
- GROUP BY로 묶고,
- HAVING 조건으로 COUNT 수가 2 이상인 것만 가져옵니다.
- ORDER BY로 오름차순 정렬합니다.
SQL 연산 우선 순위
SQL 연산 우선 순위 (볼드체는 필수) | ||
FROM | 1 | 가져오는 테이블 |
WHERE | 2 | 그루핑 이전의 조건문, 행을 필터링 |
GROUP BY | 3 | 열의 종류별로 그룹화 해줍니다. |
HAVING | 4 | 그루핑 이후의 조건문, 그룹을 필터링 |
SELECT | 5 | 위에서 적용한 조건에 맞는 열을 가져입니다. |
ORDER BY | 6 | 가져온 열을 정렬합니다. |
이전까지는 WHERE과 HAVING의 차이를 잘 모르셨을 텐데
이번에 확실하게 알고 가셨으면 좋겠습니다.
결과
'프로그래머스 SQL 문제 해설' 카테고리의 다른 글
[프로그래머스 SQL] 입양 시각 구하기(2) (0) | 2022.02.20 |
---|---|
[프로그래머스 SQL] 입양 시각 구하기(1) (0) | 2022.02.20 |
[프로그래머스 SQL] 고양이와 개는 몇 마리 있을까 (0) | 2022.02.20 |
[프로그래머스 SQL] 중복 제거하기 (0) | 2022.02.20 |
[프로그래머스 SQL] 동물 수 구하기 (0) | 2022.02.20 |
@임채성 :: 푸르고 개발 블로그
글 내용 중 잘못되거나 이해되지 않는 부분은 댓글을 달아주세요! 감사합니다! 문의: puleugo@gmail.com