MySQL AS 키워드 설명: 컬럼 및 테이블 별칭 사용 방법

1. 소개

MySQL AS 키워드는 쿼리 내에서 테이블과 컬럼에 별칭(대체 이름)을 지정하는 데 사용됩니다.
이 기능은 SQL 문장의 가독성을 높일 뿐만 아니라 복잡한 쿼리를 더 간결하게 표현하는 데도 도움이 됩니다.

이 글에서는 AS의 기본 사용법부터 실용적인 예제와 중요한 고려 사항까지 모두 설명합니다.
초보자도 개념을 쉽게 이해할 수 있도록 전체에 걸쳐 명확하고 구체적인 코드 예제를 포함할 것입니다.

2. “AS” 키워드의 기본 사용법

2.1. 컬럼에 별칭 지정

MySQL에서는 컬럼에 별칭을 지정하여 보다 설명적이고 읽기 쉬운 컬럼 이름을 사용할 수 있습니다.
기본 구문은 다음과 같습니다:

SELECT column_name AS alias_name FROM table_name;

예시

예를 들어, users 테이블의 first_namelast_name을 연결하고 별칭 full_name을 지정하고 싶다면:

SELECT first_name, last_name, CONCAT(first_name, ' ', last_name) AS full_name FROM users;

이 SQL 문을 실행하면 full_name이라는 컬럼이 생성되어 first_namelast_name의 결합된 값을 표시합니다.

2.2. 테이블에 별칭 지정

테이블에도 별칭을 지정할 수 있습니다.
이를 통해 긴 테이블 이름을 줄이고 복잡한 쿼리의 가독성을 향상시킬 수 있습니다.

기본 구문은 다음과 같습니다:

SELECT t1.column_name FROM table_name AS t1;

예시

예를 들어, employees 테이블에 별칭 e를 지정하려면:

SELECT e.id, e.name FROM employees AS e;

이 방법을 사용하면 employees 대신 e를 사용하여 SQL 문을 더 간결하게 작성할 수 있습니다.

3. “AS” 키워드를 사용하는 이유

3.1. 쿼리 가독성 향상

AS를 사용하면 쿼리를 직관적으로 이해하기 쉬워집니다.
특히 컬럼 이름이 길거나 계산된 결과를 컬럼으로 다룰 때 유용합니다.

3.2. 다중 테이블 조인 시 모호성 방지

JOIN을 사용할 때 여러 테이블에 동일한 컬럼 이름이 존재하면 모호성이 발생할 수 있습니다.
이러한 경우 테이블에 별칭을 지정하면 혼란을 방지할 수 있습니다.

SELECT e.name, d.department_name FROM employees AS e JOIN departments AS d ON e.department_id = d.id;

이 쿼리에서는 employees 테이블을 e로, departments 테이블을 d로 축약하여 쿼리의 가독성을 높였습니다.

3.3. 계산된 컬럼 또는 함수 결과에 별칭 지정

SQL에서 계산 결과나 함수 출력에 별칭을 지정하면 보다 명확하고 이해하기 쉬운 결과를 얻을 수 있습니다.

SELECT price * quantity AS total_cost FROM orders;

이 쿼리에서는 price * quantity의 결과에 total_cost라는 설명적인 이름을 부여합니다.

4. 실용 예제

4.1. 다중 테이블 조인에서 “AS” 사용

다른 테이블을 조인할 때 별칭을 지정하면 쿼리를 짧고 간단하게 만들 수 있습니다.

SELECT u.id, u.name, o.order_date 
FROM users AS u 
JOIN orders AS o ON u.id = o.user_id;

이 예시에서는 users 테이블을 u로, orders 테이블을 o로 정의하여 중복된 설명을 없앴습니다.

4.2. 계산된 결과에 별칭 지정

총액을 계산할 때 별칭을 지정하면 출력 결과를 이해하기 쉬워집니다.

SELECT product_name, price * quantity AS total_price FROM sales;

그 결과 total_price 컬럼에 price * quantity의 계산값이 들어갑니다.

5. 중요 사항

5.1. “AS”는 선택 사항이지만 명시적 사용을 권장

MySQL에서는 AS를 생략할 수 있습니다. 하지만 가독성과 유지보수를 위해 명시적으로 작성하는 것이 권장됩니다.

SELECT first_name full_name FROM users;  -- AS can be omitted
SELECT first_name AS full_name FROM users;  -- Recommended

5.2. 예약어를 별칭으로 사용하기

SQL 예약어를 별칭으로 사용할 경우 백틱(`)으로 감싸야 합니다.

SELECT column_name AS `key` FROM table_name;

6. FAQ (자주 묻는 질문)

Q1: “AS”를 생략해도 괜찮나요?

A1: 네, 생략할 수 있습니다. 하지만 가독성을 높이기 위해 명시적으로 사용하는 것이 권장됩니다.

Q2: 테이블과 컬럼에 같은 별칭을 지정할 수 있나요?

A2: 혼동을 피하기 위해 테이블과 컬럼에는 서로 다른 별칭을 사용하는 것이 좋습니다.

Q3: 별칭에 공백을 포함할 수 있나요?

A3: 네, 가능합니다. 하지만 ""(double quotes) 또는 백틱(`)으로 감싸야 합니다.

SELECT column_name AS "My Custom Name" FROM table_name;

Q4: “AS”를 사용해 임시 테이블을 만들 수 있나요?

A4: AS 키워드 자체만으로는 임시 테이블을 만들 수 없습니다.
임시 테이블을 만들려면 CREATE TEMPORARY TABLE을 사용하세요.

CREATE TEMPORARY TABLE temp_table AS SELECT * FROM original_table;

Q5: “AS”를 사용해 뷰를 만들 수 있나요?

A5: 네. 뷰를 만들 때 AS를 사용해 뷰의 쿼리를 정의할 수 있습니다.

CREATE VIEW sales_summary AS 
SELECT product_name, SUM(price * quantity) AS total_sales FROM sales GROUP BY product_name;

7. 요약

이 글에서는 MySQL AS 키워드에 대해 자세히 설명했습니다.
핵심 내용은 다음과 같습니다:

  • AS를 사용하면 컬럼과 테이블에 명확하고 설명적인 별칭을 지정할 수 있습니다.
  • 쿼리 가독성을 높이고 SQL을 이해하기 쉽게 만듭니다.
  • 예약어를 별칭으로 사용할 경우 백틱(`)으로 감싸야 합니다.

AS 키워드는 MySQL을 사용할 때 매우 유용한 기능입니다.
이를 효과적으로 활용해 깔끔하고 효율적이며 가독성 좋은 SQL 쿼리를 작성하세요!