
문제 해결을 위한 개념 정리
✅ CONCAT
- 2개 이상 ~ 254개 이하의 여러 가지 문자열을 합쳐서 출력 가능
- NULL값을 CONCAT에서 사용한다면 해당 부분은 빈 문자열로 암시적 변환
- NULL값 끼리도 붙일 수 있음 ⇒ VARCHAR() 형식의 빈 문자열 반환
SELECT CONCAT("값1","값2","값3") AS 컬럼명 FROM 테이블명
# 출력결과
컬럼명
------
값1값2값3
★ 출력 시 문자열 값들 사이에 공백이 존재하지 않음!
⇒ 공백이 필요하다면 문자열 따옴표 사이에 공백 추가 필요
✅ GROUP CONCAT
아래와 같은 memberLIst 라는 테이블이 존재할 때,
| ID | TEAM | MEMBER |
| 1 | A | M1 |
| 2 | A | M2 |
| 3 | A | M3 |
| 4 | A | M4 |
| 5 | A | M5 |
SELECT TEAM, GROUP_CONCAT(MEMBER) AS 'MEMBERS'
FROM memberList
GROUP BY TEAM;
결과는 다음과 같이 표시된다.
| TEAM | MEMBERS |
| A | M1M2M3M4M5 |
⇒ GROUP BY로 묶어준 그룹(ex. TEAM)이 같은 값들끼리 CONCAT을 적용하면 해당하는 값들을 한 번에 붙여서 출력할 수 있다!
💡 GROUP_CONCAT(column SEPARATOR '구분문자') ⇒ 출력할 값들 사이 지정한 구분문자 출력
아래의 코드를 실행하면,
SELECT TEAM, GROUP_CONCAT(MEMBER SEPARATOR ',') AS 'MEMBERS'
FROM memberList
GROUP BY TEAM;
결과는 다음과 같이 콤마(,)로 각 값들 사이를 구분 짓는 결과가 출력된다.
| TEAM | MEMBERS |
| A | M1, M2, M3, M4, M5 |
문제 해결 코드

SELECT CONCAT(MAX(LENGTH),'cm') AS MAX_LENGTH
FROM FISH_INFO;'Technique > MySQL' 카테고리의 다른 글
| [Lv.2] 진료과별 총 예약 횟수 출력하기[EXTRACT] (2) | 2024.09.11 |
|---|---|
| [Lv.2] 연도별 대장균 크기의 편차 구하기[SUB QUERY] (3) | 2024.09.09 |
| [Lv.4] 연간 평가점수에 해당하는 평가 등급 및 성과금 조회하기 [CASE WHEN] (0) | 2024.08.23 |
| [Lv.3] 부서별 평균 연봉 조회하기[ROUND, JOIN] (0) | 2024.08.23 |
| [Lv.2] 월별 잡은 물고기수 구하기 [MONTH, GROUP BY] (0) | 2024.08.23 |