CodeClover

[프로그래머스 / SQL] 잡은 물고기 중 가장 큰 물고기의 길이 구하기 _MYSQL 본문

코딩테스트

[프로그래머스 / SQL] 잡은 물고기 중 가장 큰 물고기의 길이 구하기 _MYSQL

coding dew 2024. 12. 4. 14:50

 

https://school.programmers.co.kr/learn/courses/30/lessons/298515?language=mysql

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

이 문제의 POINT는 문자열을 붙여서 새로운 가상의 컬럼을 만들어내는것이다.

 

[정답코드]

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

 

 

 

 

CONCAT( )함수란?

CONCAT() 함수는 SQL에서 여러 문자열을 하나로 결합하여 새로운 값을 생성하는 SQL 함수이다.

즉, 주어진 모든 값을 순서대로 연결해 하나의 문자열으로 만들어주는 함수이다. 값 사이에 ,(콤마)를 여러개 넣으면 각각의 값을 그대로 연결해서 출력한다.

 

CONCAT( )함수 주요 특징

  • 콤마로 구분: CONCAT()는 각 인수를 하나씩 처리하며, 문자열, 숫자, 혹은 기타 값을 모두 문자열로 변환하여 연결합니다.
  • 값 순서 유지: 지정된 순서대로 값을 결합합니다.
  • 산술 계산 아님: CONCAT()는 문자열 연결만 수행하며, 숫자 데이터를 처리할 경우 문자열로 변환하여 연결한다.
  • NULL 처리 주의: 하나라도 NULL이면 결과 전체가 NULL이 됩니다.
    • 만약 구분자가 필요하다면 CONCAT_WS() 함수가 더 적합할 수 있습니다. CONCAT_WS() 함수는 구분자를 사용하며, NULL 값을 무시한다.

 

[예제코드01]

 

SELECT 
    CONCAT(first_name, ' ', last_name) AS full_name
FROM 
    employees;

위 예제코드를 보면 CONCAT()함수는 first_name과 last_name을 공백으로 연결해서 새 문자열을 생성한다.

 

 

[예제코드02]

SELECT 
    CONCAT(MAX(length), 'cm', ', ', '최대 길이') AS max_length_description
FROM 
    items;

위 예제코드를 보면 MAX(length)의 결과와 'cm', ', ', 그리고 '최대 길이'를 순서대로 연결된다. 

 

[결과]

"123cm, 최대 길이"