구현 방법
count, join, in을 이용하여 구현했습니다.
join
조인 순서를 고려했습니다. 현재 테이블에서 fish_name_info가 fish_info에 비해 작기 때문에 fish_name_info를 먼저 처리 했습니다.
in
or 이용하여 조건에 만족하는 값을 찾지 않고 in을 이용했습니다.
이유는 크게 두가지가 있습니다.
- 인덱스 : 인덱스를 설정한 경우 in을 통해 단일 인덱스 조회가 가능해집니다.
- 간결한 표현
코드
SELECT
COUNT(fi.fish_type) AS "fish_count"
FROM
fish_name_info fin
JOIN fish_info fi ON fi.fish_type = fin.fish_type
WHERE
fin.fish_name IN ('BASS', 'SNAPPER');
'sql' 카테고리의 다른 글
mysql - 프로그래머스 131123 / 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.10.02 |
---|---|
mysql - 프로그래머스 59411 / 오랜 기간 보호한 동물(2) (0) | 2024.09.07 |
mysql - 프로그래머스 131537 / 오프라인/온라인 판매 데이터 통합하기 (0) | 2024.09.02 |
프로그래머스 299310 / 연도별 대장균 크기의 편차 구하기 (2) | 2024.08.22 |
mysql - 프로그래머스 299308 / 분기별 분화된 대장균의 개체 수 구하기 (0) | 2024.08.20 |