SQL AS : 필드, 테이블 명을 다시 지을 때

 

이름이 긴 필드 이름이나, 긴 릴레이션 이름을 Query 문 내에서 다시 이름을 짓기 위해서 사용합니다.

즉, SQL 에서 AS 키워드는 테이블이나 컬럼에 별칭(alias) 을 설정하는데 사용합니다.

이 별칭은 쿼리가 실행되는 동안 임시로 사용되며, 실제 데이터베이스에 저장되거나 영구적으로 적용되지 않습니다.

 

예시

SELECT student_name, student_gender FROM students;
SELECT student_name AS 학생_이름, student_gender AS 성별 FROM students;

 

위에서 보는 것처럼 AS 키워드를 사용하면 결과 테이블의 필드명을 알아보기 쉽게 바꿀 수 있습니다.

단순해 보이는 AS 키워드는 상당히 많이 사용됩니다.

SQL 의 필드명에는 공백문자를 사용할 수 없으므로, 'AS 학생 이름' 처럼 띄어쓰기를 사용할 수 없다.

 

AS 키워드는 단순히 필드명을 바꾸는 것에 그치지 않고, 테이블의 이름을 바꾸는 데에도 사용할 수 있습니다.

테이블의 이름이 너무 길다면, 좀 더 쉽고 간단한 이름으로 바꿔서 사용할 수도 있습니다. 테이블의 이름을 바꾸기 위해서는 FROM 키워드 뒤에 AS 를 붙여 사용하면 됩니다. 

즉, AS 키워드가 FROM 앞에 있는 경우와 FROM 뒤에 있는 경우는 그 의미가 다르므로 주의해야 합니다.

 

SELECT st.student_name, st.school_name from students as st;

 

이처럼 간소화된 테이블 이름을 사용할 때에는 '테이블명,필드명' 형태로 사용하면 됩니다.

이때 테이블명과 필드명 사이에 사용된 마침표(.) 를 닷 연산자 라고 합니다.

 

만약 MyBatis Mapper 에서 해당 AS 를 사용하여 특정 데이터를 가져오고 싶을 때 어떻게 해야 할까요?

아래처럼 SQL 쿼리를 작성하여 MyBatis Mapper 와 연결하시면 됩니다.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="StudentMapper">

    <!-- 학생 점수 계산 쿼리 -->
    <select id="getStudentScores" resultType="Student">
        SELECT 
            name,
            ROUND(math_score + science_score, 1) AS totalScore
        FROM students;
    </select>
</mapper>

'SQL' 카테고리의 다른 글

SQL Developer 으로 Tablespace 생성  (1) 2024.12.09
변환함수 - TO_CHAR, TO_DATE, TO_NUMBER  (0) 2024.12.09
문자열 함수, 숫자형 함수  (0) 2024.12.05
연산자  (0) 2024.12.04
DDL, DML, DCL, TCL  (0) 2024.12.04