-
String, Date - 한 해에 잡은 물고기 수 구하기코테 2024. 4. 20. 23:18728x90
문제 설명
낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다.
FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은
각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다.
Column name Type Nullable ID INTEGER FALSE # 물고기 ID FISH_TYPE INTEGER FALSE # 물고기 종류 LENGTH FLOAT TRUE # 물고기 길이 TIME DATE FALSE # 잡은 날짜
단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다.
문제
FISH_INFO 테이블에서 2021년도에 잡은 물고기 수를 출력하는 SQL 문을 작성해주세요.
이 때 컬럼명은 'FISH_COUNT' 로 지정해주세요.
풀이
풀이 1 SELECT COUNT(*) AS FISH_COUNT # FISH_COUNT로 컬럼명 변경 FROM FISH_INFO # FISH_INFO 테이블 WHERE TIME >= '2021-01-01' AND TIME <= '2021-12-31'; # 2021년 1월 1일 보다 크거나 같고 2021년 12월 31일 보다 작거나 같다 풀이 2 SELECT COUNT(ID) FISH_COUNT # FISH_COUNT로 컬럼명 변경 FROM FISH_INFO # FISH_INFO 테이블 WHERE YEAR(TIME) = '2021'; # TIME열 내에서 2021년을 추출
쿼리문을 작성하고 문제 설명에서 단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다. 라는 것을 제대로 못 보고 AND 조건 뒤에 LENGTH > 10까지 작성해 버렸다... 실행은 되는데 왜 틀렸다고 하지 하는 마음에 멘붕이왔는데 문제를 다시 읽어보니 길이에 대한 조건은 없었다.. 하하하하 풀이 1번을 다시 수정하여 작성하고 제출! 다른 사람들은 어떻게 썼을까 하고 찾아봤는데 풀이 2번처럼 간단하게 작성한 것을 보고 저렇게 작성할 수도 있구나 하고 기억해 둬야겠다는 생각과 함께 내 블로그에 박제🥹
728x90'코테' 카테고리의 다른 글
IS NULL - 경기도에 위치한 식품창고 목록 출력하기 (0) 2024.04.24 SELECT - 잔챙이 잡은 수 구하기 (0) 2024.04.23 IS NULL - 잡은 물고기의 평균 길이 구하기 (0) 2024.04.22 SUM, MAX, MIN - 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) 2024.04.21 SELECT - 가장 큰 물고기 10마리 구하기 (0) 2024.04.19