728x90
목차
a) SELECT 절
- 컬럼 또는 계산된 값에 별칭을 지정할 때 사용.
- 주로 결과 테이블의 가독성을 높이기 위해 사용됩니다.
SELECT emp_name AS employee_name, salary AS monthly_salary
FROM employees;
AS 생략 가능
SELECT emp_name employee_name, salary monthly_salary
FROM employees;
b) FROM 절 (테이블 별칭)
- 테이블 이름에 별칭을 지정할 때 사용.
- 별칭을 지정하면 테이블 이름 대신 별칭으로 참조할 수 있습니다.
SELECT e.emp_name, e.salary
FROM employees AS e;
AS 생략 가능
SELECT e.emp_name, e.salary
FROM employees e;
c) GROUP BY 절
- SELECT 절의 별칭을 사용할 수 없습니다.
- 대신 컬럼 이름 또는 컬럼의 순서를 사용해야 합니다.
SELECT department_id AS dept_id, COUNT(*) AS total_employees
FROM employees
GROUP BY department_id; -- dept_id 별칭 사용 불가
d) HAVING 절
- 별칭을 사용할 수 있습니다.
- SELECT 절에서 지정한 별칭을 참조할 수 있습니다.
SELECT department_id AS dept_id, COUNT(*) AS total_employees
FROM employees
GROUP BY department_id
HAVING total_employees > 10; -- 별칭 사용 가능
e) ORDER BY 절
- SELECT 절의 별칭 또는 컬럼 순서를 사용할 수 있습니다.
SELECT emp_name AS employee_name, salary AS monthly_salary
FROM employees
ORDER BY monthly_salary DESC; -- 별칭 사용 가능
컬럼 순서로 참조 가능
SELECT emp_name AS employee_name, salary AS monthly_salary
FROM employees
ORDER BY 2 DESC; -- 두 번째 컬럼 기준 정렬
2. AS를 사용할 수 없는 곳
a) WHERE 절
- AS로 지정된 별칭을 사용할 수 없습니다.
- 이유: WHERE 절은 데이터 필터링을 수행하는 단계로, SQL 엔진이 아직 SELECT 절에서 별칭을 처리하기 전입니다.
SELECT salary AS monthly_salary
FROM employees
WHERE monthly_salary > 5000; -- 에러 발생
해결 방법: 별칭 대신 컬럼 이름 또는 계산식을 직접 사용
SELECT salary AS monthly_salary
FROM employees
WHERE salary > 5000; -- 올바른 사용
b) JOIN 절 (ON 조건에서 별칭 사용 불가)
- ON 조건에서도 AS로 지정한 별칭은 사용할 수 없습니다.
- 이유: ON 절은 FROM 절의 일부로 처리되며, 이 시점에서는 별칭이 아직 적용되지 않기 때문입니다.
SELECT e.emp_name, d.department_name
FROM employees AS e
JOIN departments AS d
ON e.dept_id = d.dept_id; -- OK
정리
절 별칭(AS) 사용 가능 여부 비고
SELECT | 가능 | 컬럼 또는 계산식에 별칭 지정. |
FROM | 가능 | 테이블 이름에 별칭 지정. |
WHERE | 불가능 | 별칭 대신 원래 컬럼 이름 또는 계산식 사용 필요. |
GROUP BY | 불가능 | 컬럼 이름 또는 컬럼의 순서로 참조. |
HAVING | 가능 | SELECT 절에서 지정한 별칭 참조 가능. |
ORDER BY | 가능 | SELECT 절의 별칭 또는 컬럼 순서 참조 가능. |
JOIN (ON) | 불가능 | AS로 지정한 별칭 대신 테이블 이름이나 원래 컬럼 이름 사용 필요. |
TIP: 별칭 사용 시 주의사항
- WHERE와 ON 절에서는 별칭을 사용할 수 없다.
- 대신 원래 컬럼 이름이나 계산식을 직접 작성해야 함.
- GROUP BY에서는 별칭이 아닌 원래 컬럼을 사용해야 한다.
별칭 사용은 가독성을 높이는 데 매우 유용하지만, SQL 실행 순서에 따라 제한이 있으니 주의하세요! 😊
728x90
'SQL' 카테고리의 다른 글
SUBQUERY 가능한 절 정리 (0) | 2025.01.23 |
---|---|
아웃터 조인 (Outer Join) (0) | 2025.01.23 |
SQL의 SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY 쉽게 이해하기 (2) | 2025.01.23 |
SQL 명령어: DDL, DML, DCL 정리 (0) | 2025.01.21 |
슈퍼 키(Super Key)와 후보 키(Candidate Key)의 차이 (1) | 2025.01.21 |