MySQL에서 SELECT 쿼리 결과에 실제 테이블에는 존재하지 않는 새로운 열을 추가하고, 해당 열에 특정 값을 지정하는 것은 매우 간단합니다. 이 기능은 조회 결과에 고정값을 함께 출력해야 할 때 유용하게 사용됩니다.
기본 문법
새 열을 추가하고 값을 지정하려면 아래와 같은 문법을 사용합니다. 원하는 값 뒤에 AS 키워드를 붙여 별칭(alias)을 지정하면 됩니다.
SELECT yourColumnName1, yourColumnName2, ...N, yourValue AS anyAliasName FROM yourTableName;
예제 테이블 생성
먼저 실습에 사용할 테이블을 생성해 보겠습니다.
mysql> CREATE TABLE DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName varchar(20)
);
Query OK, 0 rows affected (0.84 sec)데이터 삽입
INSERT 명령을 사용하여 몇 개의 레코드를 추가합니다.
mysql> INSERT INTO DemoTable(FirstName) VALUES('John');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable(FirstName) VALUES('Larry');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable(FirstName) VALUES('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable(FirstName) VALUES('Robert');
Query OK, 1 row affected (0.15 sec)전체 데이터 조회
SELECT 문을 사용하여 테이블의 모든 레코드를 확인해 보겠습니다.
mysql> SELECT * FROM DemoTable;
위 쿼리는 다음과 같은 결과를 출력합니다.
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John | | 2 | Larry | | 3 | Chris | | 4 | Robert | +----+-----------+ 4 rows in set (0.00 sec)
새 열을 추가하고 값 지정하기
이제 핵심 부분입니다. 아래 쿼리는 기존 열(Id, FirstName)과 함께 AGE라는 이름의 새 열을 만들고, 모든 행에 값 23을 지정하여 출력합니다.
mysql> SELECT Id, FirstName, 23 AS AGE FROM DemoTable;
실행 결과는 다음과 같습니다.
+----+-----------+-----+ | Id | FirstName | AGE | +----+-----------+-----+ | 1 | John | 23 | | 2 | Larry | 23 | | 3 | Chris | 23 | | 4 | Robert | 23 | +----+-----------+-----+ 4 rows in set (0.00 sec)
정리
이처럼 SELECT 절에 숫자나 문자열 리터럴을 직접 작성하고 AS 키워드로 별칭을 붙이면, 테이블 구조를 변경하지 않고도 쿼리 결과에 임시 열을 추가할 수 있습니다. 참고로 이렇게 생성된 열은 실제 테이블에 저장되지 않으며, 오직 해당 쿼리의 결과에만 나타난다는 점을 기억하세요.