MySQL에서 SELECT *를 사용해 테이블의 모든 열을 조회하면서, 동시에 특정 열의 이름을 별칭(alias)으로 변경하고 싶은 경우가 있습니다. 이때는 테이블에 별칭을 지정한 뒤, AS 키워드를 활용하면 간단하게 해결할 수 있습니다.
실제 예제를 통해 단계별로 살펴보겠습니다.
1. 테이블 생성하기
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(20),
Age int
);
Query OK, 0 rows affected (1.15 sec)위 쿼리는 자동 증가하는 기본키 Id와 Name, Age 세 개의 열을 가진 테이블을 만듭니다.
2. 데이터 삽입하기
INSERT 명령어를 사용해 테이블에 샘플 레코드를 추가합니다.
mysql> insert into DemoTable(Name,Age) values('John',21);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(Name,Age) values('Carol',24);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(Name,Age) values('David',22);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Name,Age) values('Sam',23);
Query OK, 1 row affected (0.23 sec)3. 전체 데이터 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인합니다.
mysql> select * from DemoTable;
실행 결과는 다음과 같습니다.
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | John | 21 | | 2 | Carol | 24 | | 3 | David | 22 | | 4 | Sam | 23 | +----+-------+------+ 4 rows in set (0.00 sec)
4. SELECT *와 함께 열 이름 변경하기
핵심은 테이블에 별칭(여기서는 tbl)을 붙인 후, tbl.*로 모든 열을 선택하고 변경하고자 하는 열만 AS 키워드로 새 이름을 지정하는 것입니다.
mysql> select tbl.*,Name AS StudentName from DemoTable tbl;
실행 결과를 확인해 보면, 기존의 모든 열은 그대로 유지되면서 Name 열이 StudentName이라는 이름으로 추가되어 출력됩니다.
+----+-------+------+-------------+ | Id | Name | Age | StudentName | +----+-------+------+-------------+ | 1 | John | 21 | John | | 2 | Carol | 24 | Carol | | 3 | David | 22 | David | | 4 | Sam | 23 | Sam | +----+-------+------+-------------+ 4 rows in set (0.00 sec)
정리
SELECT *만 사용하면 열 이름을 변경할 수 없지만, 테이블 별칭과 AS 키워드를 조합하면 전체 열을 유지하면서 원하는 열의 이름을 자유롭게 바꿀 수 있습니다. 결과 화면에서 열 제목을 더 의미 있게 표시하고 싶을 때 유용하게 활용할 수 있는 방법입니다.