목차
쿼리가 복잡해 질수록 열 별칭은 가독성을 높여줍니다.
또한 함수를 사용시 열 이름이 변경되는데 이때도 별칭을 지정하면 간략하게 조건절에서 참조할 수 있고 결과화면도 깔끔해 집니다.
또한 동일한 열을 여러번 사용하는 경우도 간단한 이름을 지정해 두면 편리합니다.
열 별칭(Column Aliases)은 출력을 더 읽기 쉽게 만들거나 코드를 단순화하기 위해 SQL 쿼리의 열에 할당된 대체 이름이라고 할 수 있습니다.
1. 열 별칭 사용상 이점
1-1. 가독성 향상
열에 의미 있는 별칭을 지정하면 사용자와 동료 모두 쿼리를 더 쉽게 이해할 수 있습니다.
1-2. 간소화된 코드
별칭을 사용하면 특히 복잡한 테이블 이름과 열 이름을 처리할 때 SQL 코드를 단축하고 오류 발생 가능성을 줄일 수 있습니다.
1-3. 향상된 유지 관리
별칭은 열 이름이나 테이블 구조의 변경이 쿼리에 미치는 영향을 최소화하는 데 도움이 됩니다.
2. 열 별칭 사용법
Oracle에서는 AS 키워드를 사용하거나 단순히 열 이름 뒤에 공백으로 구분된 별칭을 제공하여 열에 별칭을 할당할 수 있습니다. 두 방법은 동일하며 더 편리한 방법을 선택할 수 있습니다.
2-1. AS 키워드 사용
SELECT column_name AS alias_name
FROM table_name;
2-2. AS 생략
SELECT column_name alias_name
FROM table_name;
2-3. 열 별칭 예시
- 별칭 할당
SELECT first_name AS "First Name",
last_name AS "Last Name",
salary AS "Salary"
FROM employees;
- 계산에 별칭 사용
SELECT first_name || ' ' || last_name AS "Full Name",
salary * 12 AS "Annual Salary",
salary * 1.1 AS "Salary with Raise"
FROM employees;
- JOIN에서 사용
SELECT e.first_name || ' ' || e.last_name AS "Employee Name",
d.name AS "Department Name"
FROM employees e
JOIN departments d ON e.department_id = d.department_id;
3. 열 별칭 사용시 주의사항
Oracle에서 열 별칭을 사용할 때 유의해야 할 몇 가지 중요한 사항이 있습니다. 이러한 미묘한 차이를 이해하면 잠재적인 문제를 피하고 효율적이고 읽기 쉬운 SQL 쿼리를 작성하는 데 도움이 됩니다. 다음은 Oracle에서 열 별칭으로 작업할 때 고려해야 할 몇 가지 핵심 사항입니다.
3-1. 대소문자 구분 및 특수 문자
기본적으로 Oracle은 따옴표가 없는 식별자(별칭 포함)를 대문자로 변환합니다. 별칭에 대소문자 혼합 또는 특수 문자를 사용하려면 큰따옴표로 묶어야 합니다.
SELECT first_name "First Name", last_name "Last Name"
FROM employees;
이 예에서 "이름"과 "성"은 대소문자를 구분하며 공백을 포함합니다. 큰따옴표가 없으면 Oracle은 큰따옴표를 대문자로 변환하고 공백을 제거합니다.
3-2. 별칭 범위 및 용도
열 별칭은 SELECT 절과 쿼리의 최종 출력에서만 사용할 수 있습니다. WHERE, GROUP BY 또는 HAVING과 같은 동일한 쿼리의 다른 절에서 사용할 수 없습니다. 대신 원래 열 이름이나 테이블 별칭을 사용해야 합니다. 예를 들어:
SELECT first_name || ' ' || last_name AS full_name, salary
FROM employees
WHERE salary > 5000 -- You can't use 'full_name' here
ORDER BY salary DESC;
3-3. 고유한 별칭
SELECT 절의 각 별칭이 고유한지 확인합니다. 중복된 별칭 이름을 사용하면 모호하거나 예기치 않은 쿼리 결과가 발생할 수 있습니다. 예를 들어 다음 쿼리는 오류를 생성합니다.
SELECT first_name AS name, last_name AS name
FROM employees; -- Error: Duplicate alias name
3-4. 테이블 별칭 사용
여러 테이블이 포함된 복잡한 쿼리로 작업할 때 테이블 별칭을 사용하면 코드를 단순화하고 더 읽기 쉽게 만들 수 있습니다. 테이블 별칭은 구별해야 하는 유사한 열 이름을 가진 테이블이 있을 때 특히 유용합니다. 예를 들어:
SELECT e.first_name AS "Employee First Name",
m.first_name AS "Manager First Name"
FROM employees e
JOIN employees m ON e.manager_id = m.employee_id;
이 예에서는 테이블 별칭 'e' 및 'm'을 사용하여 직원과 관리자를 구분하여 모호함 없이 두 이름 모두에 대해 이름을 선택할 수 있도록 했습니다.
3-5. 함수와 표현식을 별칭으로 결합
기본 제공 함수 또는 식과 함께 열 별칭을 사용하여 쿼리를 더 읽기 쉽고 유지 관리하기 쉽게 만들 수 있습니다.
SELECT TRUNC(salary / 1000) * 1000 AS "Rounded Salary",
UPPER(first_name) AS "Uppercase First Name"
FROM employees;
이 예에서는 TRUNC 및 UPPER 함수를 사용하여 급여를 가장 가까운 천 단위로 반올림하고 이름을 대문자로 각각 변환했습니다. 별칭을 사용하여 쿼리 결과에서 이러한 조작의 목적을 명확하게 나타냅니다.
'오라클' 카테고리의 다른 글
쿼리에서 중복을 제거하는 방법(DISTINCT와 GROUP BY 차이점) (0) | 2023.03.24 |
---|---|
오라클 데이터 타입과 정확히 작성해야 하는 이유 (0) | 2023.03.22 |
10 x null = ?, null(널)에 대해 알아야할 사항 (0) | 2023.03.16 |
SQL에서 산술 연산자 종류, 우선순위, 팁(암시적 변환, 정밀도 및 배율, 오버플로, 언더플로) (0) | 2023.03.15 |
오라클 SQL DECODE와 CASE(조건문, 비교) (0) | 2023.03.14 |