Alias(별칭)는 SQL 쿼리에서 컬럼 또는 테이블에 임시 이름을 부여하는 기능입니다. 가독성을 높이고 복잡한 쿼리를 간결하게 만드는 데 사용됩니다. SQLD 시험에서는 Alias의 문법과 사용 범위가 자주 출제됩니다.
컬럼명 [AS] 별칭
AS
키워드는 선택 사항이며, 생략해도 됩니다.SELECT user_id AS 회원번호, user_name 이름 FROM Users;
테이블명 [AS] 별칭
AS
를 생략하고 사용합니다.AS
사용 시 오류가 발생하므로, AS
없이 사용하는 것이 SQLD 시험의 핵심 포인트입니다.FROM Users u JOIN Orders o ON u.id = o.user_id;
"
)**로 묶어야 합니다.'
)는 문자열 상수로 취급되므로 별칭으로 사용할 수 없습니다.SELECT user_id AS "회원 번호" FROM Users;
Alias는 쿼리 실행 순서 때문에 모든 절에서 사용할 수 있는 것은 아닙니다.
WHERE
절: 사용 불가FROM
절이 실행되어 테이블이 확정된 후 WHERE
절이 실행되지만, SELECT
절의 별칭은 아직 생성되지 않았기 때문입니다.ORDER BY
절: 사용 가능SELECT
절이 먼저 실행된 후 ORDER BY
절이 실행되므로, 별칭을 인식할 수 있습니다.SELECT salary AS 급여 FROM Employees
WHERE 급여 > 3000; -- ❌ (오류 발생)
ORDER BY 급여; -- ✅ (정상 작동)
구분 | 문법 | AS 키워드 | 시험 핵심 포인트 |
---|---|---|---|
컬럼 Alias | 컬럼명 AS 별칭 | 사용 가능/생략 가능 | WHERE 절 사용 불가 |
테이블 Alias | 테이블명 별칭 | Oracle에서는 AS 생략 필수 | FROM 절에서만 지정 |
따옴표 | "별칭" | 공백, 대소문자 포함 시 필수 | '별칭' (홑따옴표)는 오류 |
1. 다음 중 올바른 Alias 사용 예시는?
A. SELECT name = 이름 FROM Users;
B. SELECT name AS 이름 FROM Users;
C. SELECT name 이름 FROM Users;
D. SELECT name '이름' FROM Users;
2. 다음 SQL 실행 결과에 대한 설명으로 옳은 것은? (Oracle 기준)
SELECT salary AS 급여 FROM Employees WHERE 급여 > 3000;
A. 정상 실행되며, 급여가 3000을 초과하는 행을 출력한다.
B. 급여
별칭은 WHERE
절에서 사용 가능하므로 문제없다.
C. WHERE
절에서 Alias를 사용했으므로 오류가 발생한다.
D. 급여
컬럼이 실제로 급여
로 변경된다.
3. 다음 중 테이블 Alias 사용에 대한 설명으로 옳은 것은? (Oracle 기준)
A. FROM Users AS u
는 정상 실행된다.
B. 테이블 Alias는 WHERE
절에서만 지정할 수 있다.
C. 테이블 Alias는 반드시 AS
를 붙여야 한다.
D. FROM Users u
는 Oracle에서 정상 실행된다.
4. 다음 SQL 실행 결과에 대한 설명으로 옳은 것은?
SELECT user_id AS "User ID" FROM Users;
A. 출력 컬럼명이 USER ID
(대문자, 공백 없음)으로 표시된다.
B. 출력 컬럼명이 User ID
그대로 표시된다.
C. "User ID"
는 문자열로 인식되어 오류가 발생한다.
D. "User ID"
는 실제 테이블 컬럼명으로 반영된다.
AS
를 사용한 올바른 문법이고, C는 AS
를 생략한 올바른 문법입니다. D는 홑따옴표를 사용해 문자열로 인식되므로 오류가 발생합니다.WHERE
절은 SELECT
절보다 먼저 실행됩니다. 따라서 급여
라는 Alias를 인식할 수 없어 오류가 발생합니다.AS
키워드를 사용할 수 없으며, 테이블명 별칭
의 형태로만 가능합니다."
)로 묶은 별칭은 공백과 대소문자를 그대로 유지한 채 출력 컬럼명으로 표시됩니다.