MySQL에서 별칭(Alias)은 컬럼이나 테이블에 임시 이름을 부여하는 기능입니다. 별칭을 지정할 때는 AS 키워드를 명시적으로 사용할 수도 있고, 생략하고 컬럼 이름만 나란히 적는 단축 문법을 사용할 수도 있습니다. 두 방식 모두 동일한 결과를 반환합니다.
실제 예제를 통해 두 방법의 차이를 확인해 보겠습니다.
1. 예제 테이블 생성
먼저 실습에 사용할 테이블을 생성합니다.
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(20)
);
Query OK, 0 rows affected (0.21 sec)2. 샘플 데이터 삽입
INSERT 명령어로 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable(Name) values('John');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(Name) values('Larry');
Query OK, 1 row affected (0.07 sec)
mysql> insert into DemoTable(Name) values('Sam');
Query OK, 1 row affected (0.06 sec)3. 전체 레코드 조회
SELECT 문으로 테이블의 모든 데이터를 확인합니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Larry | | 3 | Sam | +----+-------+ 3 rows in set (0.00 sec)
Case 1: AS 키워드를 사용한 별칭 지정
AS 명령어를 사용하여 Name 컬럼에 'FirstName'이라는 별칭을 부여하는 쿼리입니다.
mysql> select Id,Name AS FirstName from DemoTable;
실행 결과는 다음과 같습니다.
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John | | 2 | Larry | | 3 | Sam | +----+-----------+ 3 rows in set (0.00 sec)
Case 2: AS 키워드 없이 별칭 지정 (단축 문법)
AS를 생략하고 컬럼 이름과 별칭을 공백으로 구분해서 바로 작성할 수도 있습니다. 결과는 Case 1과 완전히 동일합니다.
mysql> select Id,Name FirstName from DemoTable;
실행 결과는 다음과 같습니다.
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | John | | 2 | Larry | | 3 | Sam | +----+-----------+ 3 rows in set (0.00 sec)
정리 및 활용 팁
MySQL에서 별칭을 지정할 때 AS 키워드는 선택 사항입니다. 즉, Name AS FirstName과 Name FirstName은 기능적으로 완전히 같습니다.
- 가독성: 초보자나 협업 환경에서는 의도를 명확히 드러내기 위해
AS를 붙이는 것이 좋습니다. - 테이블 별칭: 테이블에도 동일하게 적용되며, 조인(JOIN) 쿼리에서 짧은 별칭을 사용하면 코드가 간결해집니다. 예:
FROM DemoTable d - 주의 사항: 별칭에 공백이나 특수문자가 포함될 경우 백틱(`) 또는 큰따옴표로 감싸야 합니다.
별칭은 쿼리 결과의 컬럼 이름을 변경할 뿐 원본 테이블 구조에는 영향을 주지 않으므로, 안심하고 활용할 수 있습니다.