CODING TEST/MySQL

Lv1 - 잡은 물고기 중 가장 큰 물고기의 길이 구하기

iamyuunzo 2025. 7. 16. 21:16

📌 문제 정보

- 문제 이름 : 프로그래머스 - (SUM, MAX, MIN) 잡은 물고기 중 가장 큰 물고기의 길이 구하기

- 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/298515

 

 

 

📌 문제 요약

- FISH_INFO 테이블 : ID(물고기ID), FISH_TYPE(물고기 종류-숫자), LENGTH(길이-cm), TIME(잡은 날짜)

- FISH_INFO 테이블에서 잡은 물고기 중 가장 큰 물고기의 길이를 'cm' 를 붙여 출력하는 SQL문 작성. 이 때 컬럼명은 'MAX_LENGTH' 로 지정

 

예시)

ID  FISH_TYPE LENGTH  TIME
0 0 13.37 2021/12/04
1 0 50.00  2020/03/07
2 0 40.00  2020/03/07
3 1 43.33  2022/03/09
4 1 NULL  2022/04/08
5 2 32.00  2020/04/28

 

출력)

MAX_LENGTH
50.00cm

 

 

📌 내 풀이 및 코드

SELECT CONCAT(FORMAT(MAX(LENGTH), 2), 'cm') AS MAX_LENGTH
FROM FISH_INFO;

 

 

📌 새로 배운 문법

<-- 이번 문제에서 새로 배운 Java 문법 정리 -->

** CONCAT() 문법 **

- SQL에서 문자열을 합치는 함수 (문자열 이어붙이기 위해 사용됨.)

- 각각의 인자들을 하나의 문자열로 연결하고, NULL이 하나라도 있으면 결과는 NULL임.

CONCAT(문자열1, 문자열2, ..., 문자열N)

# 예제
SELECT CONCAT('Hello', ' ', 'World') AS result;			# result ----- Hello World

# 예제 2
SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS FULL_NAME
FROM EMPLOYEES;			# FIRST_NAME = 'Jane', LAST_NAME = 'Kim'이라면 → FULL_NAME = 'Jane Kim

# 예제 3
SELECT CONCAT('이름: ', NULL)  -- 결과는 NULL

# 예제 4 : 숫자도 문자열로 변환됨 (숫자, 문자열 자동 연결)
SELECT CONCAT('총합: ', 100)  -- 결과: '총합: 100'

# 예제 5 : 여러 개 이어붙이기
SELECT CONCAT_WS('-', '2024', '07', '16')  -- 결과: 2024-07-16