Language/SQL

[MYSQL] 검색결과 값 합치기 (select, CONCAT, GROUP_CONCAT)

멱군 2021. 10. 8. 20:25

MySQL에서 데이터 조작과 관련된 작업을 할 때 종종 여러 컬럼의 값들을 하나로 합치거나, 여러 행의 값을 하나의 행으로 합치는 작업을 필요로 합니다. 이럴 때 유용하게 쓰이는 함수들이 바로 CONCAT과 GROUP_CONCAT입니다. MYSQL에서 검색결과 값 합치기하는 방법을 알아보도록 하겠습니다.

 

 

1. CONCAT 함수란?

CONCAT 함수는 여러 문자열을 하나로 합치는 데 사용되는 MySQL의 내장 함수입니다. 기본적인 사용 방법은 아래와 같습니다:

SELECT CONCAT(문자열1, 문자열2, ...);

 

2. 두 개의 컬럼값 합치기

예를 들어, 아래와 같은 테이블이 있다고 가정합시다:

column1 column2
1 A
2 B
3 C

두 컬럼의 값을 하나로 합치려면 CONCAT 함수를 이용할 수 있습니다:

SELECT CONCAT(column1, " - ", column2) AS result FROM 테이블명;

위 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

result
1 - A
2 - B
3 - C

 

3. GROUP_CONCAT 함수란?

GROUP_CONCAT 함수는 여러 행의 값을 하나의 문자열로 합치는 데 사용됩니다. 주로 그룹화 작업과 함께 사용되어 그룹 내의 여러 값을 하나로 연결할 때 유용합니다.

 

4. 여러 행의 값을 하나로 합치기

만약 열로 된 결과를 ,로 구분하여 한 행으로 가져오고 싶을 때는 GROUP_CONCAT 함수를 사용하면 됩니다:

SELECT GROUP_CONCAT(CONCAT(column1, " - ", column2)) AS result FROM 테이블명;

위 쿼리의 실행 결과는 아래와 같습니다:

result
1 - A,2 - B,3 - C

 

5. 결론

MySQL에서 데이터 조작 작업을 수행할 때는 다양한 함수와 기능들을 활용해야 합니다. CONCAT와 GROUP_CONCAT 함수는 데이터의 구조나 형태를 원하는 방식으로 변경하는 데 매우 유용한 도구입니다. 데이터 분석이나 처리 작업을 진행할 때 이 두 함수의 활용법을 잘 기억해두면 큰 도움이 될 것입니다.

 

함께읽으면 좋은글

 

[MYSQL] GROUP_CONCAT에서 order by 정렬하기, 구분자, 한글깨짐

MySQL에서 데이터를 그룹화하며 연결하는 작업은 매우 흔한 일입니다. 이때 자주 사용되는 함수가 바로 GROUP_CONCAT()입니다. 그러나 GROUP_CONCAT()을 사용하다 보면 몇 가지 문제에 직면하게 됩니다.

devit.koreacreatorfesta.com

 

[MYSQL] 여러테이블에서 검색한 결과 합치기 select * select

MySQL에서 데이터를 조회할 때 때때로 여러 테이블에서의 결과를 하나의 쿼리 결과로 합치고자 하는 상황이 발생합니다. 이럴 때 SELECT 문 내부에 다른 SELECT 문을 사용하여 여러 테이블의 결과를

devit.koreacreatorfesta.com

 

[MYSQL] 검색한 결과를 넣기 select 하여 insert

테이블을 옮기는 작업은 데이터베이스 관리에서 자주 발생하는 작업입니다. 이때 원하는 데이터만 이전하는 방법을 알고 있으면 작업을 보다 효율적으로 수행할 수 있습니다. 테이블의 데이터

devit.koreacreatorfesta.com

 

[MYSQL] 검색한결과 업데이트 하기 update, select

데이터베이스에서 데이터를 관리하다 보면, 특정 조건에 맞는 데이터를 검색하여 해당 결과를 기반으로 다른 테이블의 값을 업데이트해야 할 경우가 종종 발생합니다. 이 때, UPDATE와 SELECT를 적

devit.koreacreatorfesta.com