반응형
  • 티스토리 홈
  • 프로필사진
    쪼시
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
쪼시
  • 프로필사진
    쪼시
    • 분류 전체보기 (88)
      • OS (2)
        • Window (0)
        • Mac (0)
        • Linux (0)
        • Ubuntu (2)
      • Programming (5)
        • C (1)
        • C++ (0)
        • C# (0)
        • Java (0)
        • JVM Monitoring (1)
        • Python (0)
        • HTML5 (1)
        • CSS (0)
        • JavaScript (0)
        • React (0)
        • MATLAB (1)
      • DB (15)
        • CREATE (5)
        • SELECT (8)
        • UPDATE (1)
        • DELETE (1)
      • 코딩 테스트 (64)
        • C++ (2)
        • Java (0)
        • Python (0)
        • JavaScript (0)
        • SQL (62)
      • GIT (0)
      • Drone (0)
        • Model (0)
        • Info (0)
      • IT Info (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [프로그래머스][SQL 고득점 KIT][SELECT][Level 2] 특정 물고기를 잡은 총 수 구하기
        2024년 10월 21일
        • 쪼시
        • 작성자
        • 2024.10.21.:16
        반응형

        https://school.programmers.co.kr/learn/courses/30/lessons/298518

         

        [프로그래머스][SQL 고득점 KIT][SELECT][Level 2] 특정 물고기를 잡은 총 수 구하기

         

        문제 설명

         

        낚시앱에서 사용하는 FISH_INFO 테이블은 잡은 물고기들의 정보를 담고 있습니다. FISH_INFO 테이블의 구조는 다음과 같으며 ID, FISH_TYPE, LENGTH, TIME은 각각 잡은 물고기의 ID, 물고기의 종류(숫자), 잡은 물고기의 길이(cm), 물고기를 잡은 날짜를 나타냅니다.

        Column name Type Nullable
        ID INTEGER FALSE
        FISH_TYPE INTEGER FALSE
        LENGTH FLOAT TRUE
        TIME DATE FALSE

         

        단, 잡은 물고기의 길이가 10cm 이하일 경우에는 LENGTH 가 NULL 이며, LENGTH 에 NULL 만 있는 경우는 없습니다.

         

        FISH_NAME_INFO 테이블은 물고기의 이름에 대한 정보를 담고 있습니다. FISH_NAME_INFO 테이블의 구조는 다음과 같으며, FISH_TYPE, FISH_NAME 은 각각 물고기의 종류(숫자), 물고기의 이름(문자) 입니다.

        Column name Type Nullable
        FISH_TYPE INTEGER FALSE
        FISH_NAME VARCHAR FALSE

        문제

        FISH_INFO 테이블에서 잡은 BASS와 SNAPPER의 수를 출력하는 SQL 문을 작성해주세요. 

         

        컬럼명은 'FISH_COUNT`로 해주세요.


        예시

        예를 들어 FISH_INFO 테이블이 다음과 같고

         

        * 생략 *

         

        FISH_NAME_INFO 테이블이 다음과 같다면

         

        * 생략 * 

         

        'BASS' 는 물고기 종류 0에 해당하고, 'SNAPPER' 는 물고기 종류 1에 해당하므로 잡은 'BASS' 와 'SNAPPER' 수는 7마리입니다.

        FISH_COUNT
        7

        문제 풀이

        1. FISH_INFO 테이블에서 잡은 BASS와 SNAPPER의 수를 출력
        2. 컬럼명은 'FISH_COUNT`
        SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO
        WHERE FISH_TYPE IN (
            	SELECT  FISH_TYPE 
                FROM  FISH_NAME_INFO 
                WHERE FISH_NAME IN ('BASS', 'SNAPPER')
            )

        * 조건절에 서브 쿼리를 사용해서 FISH_NAME이 BASS와 SNAPPER인 FISH_TYPE을 조회해서 FISH_INFO 테이블에서 카운트

        SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO F
        JOIN FISH_NAME_INFO N ON F.FISH_TYPE = N.FISH_TYPE
        WHERE N.FISH_NAME IN ('BASS', 'SNAPPER')

        * 조인을 사용해서 FISH_TYPE으로 두테이블을 묶어서 FISH_NAME이 BASS와 SNAPPER인 결과를 조회

        • FISH_INFO 테이블에서 잡은 BASS와 SNAPPER의 수를 출력
        • 조건절을 이용해서 FISH_NAME_INFO 테이블의 FISH_NAME이 BASS와 SNAPPER인 결과를 조회

         


        실행 결과

        FISH_COUNT
        7
        반응형
        저작자표시 비영리 변경금지 (새창열림)

        '코딩 테스트 > SQL' 카테고리의 다른 글

        [프로그래머스][SQL 고득점 KIT][SELECT][Level 2] 부모의 형질을 모두 가지는 대장균 찾기  (1) 2024.10.21
        [프로그래머스][SQL 고득점 KIT][SELECT][Level 1] 특정 형질을 가지는 대장균 찾기  (1) 2024.10.21
        [프로그래머스][SQL 고득점 KIT][SELECT][Level 1] 가장 큰 물고기 10마리 구하기  (0) 2024.10.21
        [프로그래머스][SQL 고득점 KIT][SELECT][Level 1] 잔챙이 잡은 수 구하기  (2) 2024.10.18
        [프로그래머스][SQL 고득점 KIT][SELECT][Level 2] 조건에 맞는 개발자 찾기  (2) 2024.10.18
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바