MySQL WHERE 절에서 CONCAT_WS() 함수 사용하기
CONCAT_WS() 함수를 WHERE 절과 함께 사용하면, 조회 결과는 WHERE 절에 지정된 조건을 만족하는 행만을 대상으로 생성됩니다. 즉, 테이블의 전체 데이터가 아닌 조건에 해당하는 레코드만 문자열로 연결되어 출력됩니다.
예제
'student' 테이블에서 id가 20인 학생의 정보를 하나의 문자열로 연결하여 조회하는 예제입니다.
mysql> Select CONCAT_WS(' ',Name, Last_name, 'Resident of', Address, 'is studying', Subject)AS 'Student Detail' from student WHERE id = 20;
+----------------------------------------------------------------+
| Student Detail |
+----------------------------------------------------------------+
| Gaurav Rathore Resident of Jaipur is studying Computers |
+----------------------------------------------------------------+
1 row in set (0.00 sec)쿼리 설명
위 쿼리는 다음과 같은 방식으로 동작합니다.
- WHERE id = 20: id 값이 20인 행만 선택합니다.
- CONCAT_WS(' ', ...): 첫 번째 인수인 공백(' ')을 구분자로 사용하여 이름, 성, 주소, 과목 등 여러 값을 하나의 문장 형태로 연결합니다.
- AS 'Student Detail': 결과 컬럼에 별칭을 지정하여 출력 결과를 더 읽기 쉽게 만듭니다.
이처럼 WHERE 절과 CONCAT_WS() 함수를 조합하면 특정 조건에 맞는 데이터만 깔끔한 문장 형태로 가공하여 조회할 수 있어, 보고서 작성이나 목록 표시 등에 유용하게 활용됩니다.