CONCAT() 함수를 사용하면 여러 컬럼 값과 고정 문자열을 결합해 하나의 컬럼으로 출력할 수 있습니다.
테이블 생성 및 데이터 삽입
mysql> CREATE TABLE DemoTable (
-> Id INT,
-> Name VARCHAR(20)
-> );
Query OK, 0 rows affected (0.93 sec)
mysql> INSERT INTO DemoTable VALUES(101,'Chris'); Query OK, 1 row affected (0.25 sec) mysql> INSERT INTO DemoTable VALUES(102,'David'); Query OK, 1 row affected (0.23 sec) mysql> INSERT INTO DemoTable VALUES(103,'Robert'); Query OK, 1 row affected (0.16 sec)
데이터 조회
mysql> SELECT * FROM DemoTable;
+------+--------+ | Id | Name | +------+--------+ | 101 | Chris | | 102 | David | | 103 | Robert | +------+--------+ 3 rows in set (0.00 sec)
컬럼 결합 쿼리
mysql> SELECT CONCAT('The student id and name is= ', Id, ',', Name, ' .') FROM DemoTable;
+---------------------------------------------------------------+
| CONCAT('The student id and name is= ', Id, ',', Name, ' .') |
+---------------------------------------------------------------+
| The student id and name is= 101,Chris . |
| The student id and name is= 102,David . |
| The student id and name is= 103,Robert . |
+---------------------------------------------------------------+
3 rows in set (0.01 sec)
팁: CONCAT_WS('구분자', 컬럼1, 컬럼2, ...)를 쓰면 구분자를 자동으로 넣어줍니다. 예: CONCAT_WS(', ', Id, Name) → '101, Chris'. NULL 값이 있으면 CONCAT은 NULL을 반환하지만 CONCAT_WS는 NULL을 건너뜁니다.