https://school.programmers.co.kr/learn/courses/30/lessons/59412
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
코드
-- 코드를 입력하세요
SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT
FROM ANIMAL_OUTS
WHERE 8 < HOUR(DATETIME) AND HOUR(DATETIME) < 20
GROUP BY HOUR
ORDER BY HOUR
필터링을 바탕으로 필요없는 시간대를 모두 지워줍니다. 이후에 그룹화를 해서 필요한 값을 출력하도록 합니다.
쿼리 실행 순서
실행 순서 SQL 절 설명
1️⃣ | FROM | ANIMAL_OUTS 테이블에서 데이터를 조회 |
2️⃣ | WHERE | 8 < HOUR(DATETIME) < 20 조건을 만족하는 행만 필터링 |
3️⃣ | GROUP BY | HOUR(DATETIME) 기준으로 그룹화 |
4️⃣ | SELECT | HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT 조회 |
5️⃣ | ORDER BY | HOUR 기준으로 정렬 |
CASE랑 WHERE 둘의 용도는 뭐일까?
CASE와 WHERE의 차이는 목적과 동작 방식에서 크게 다릅니다.
1. CASE와 WHERE의 차이
- CASE는 데이터를 변형(가공)하는 용도로 사용됩니다. 즉, SELECT 절에서 특정 조건에 따라 값을 변환하거나 새로운 컬럼 값을 생성하는 데 사용됩니다.
- WHERE은 필터링(데이터를 선택하는 용도)로 사용됩니다. 즉, 특정 조건을 만족하는 행만 결과에 포함되도록 제한합니다.
참고 자료
'프로그래머스' 카테고리의 다른 글
[프로그래머스 SQL] 동명 동물 수 찾기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.02 |
---|---|
[프로그래머스 MySQL] 년, 월, 성별 별 상품 구매 회원 수 구하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.02 |
[프로그래머스 SQL] CASE와 WHERE 차이점과 용도 (0) | 2025.03.02 |
[프로그래머스 MySQL] 가격대 별 상품 개수 구하기 - 쿼리 실행 순서와 함께 보자 (0) | 2025.03.02 |
[프로그래머스][SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2024.06.09 |