BOOK

[Do it SQL] Chapter 04-5 / 04-6

Minch13r 2025. 3. 21. 20:34

SQL Alias란 무엇인가요?

Alias는 '별명'이라는 뜻으로, SQL에서 테이블이나 열(column)에 임시로 다른 이름을 부여하는 기능입니다. 마치 친구들 사이에서 별명을 부르는 것처럼, 데이터베이스에서도 복잡한 이름 대신 간단한 이름으로 부를 수 있게 해줍니다.

열(Column) Alias 사용하기

열에 별명을 붙이면 결과를 볼 때 더 이해하기 쉬운 이름으로 표시됩니다.

-- AS 키워드 사용
SELECT first_name AS 이름, last_name AS 성 FROM employees;

-- AS 키워드 생략 가능
SELECT first_name 이름, last_name 성 FROM employees;

-- 공백이 포함된 별명은 따옴표로 묶기
SELECT product_name AS "제품 이름", price AS "판매 가격" FROM products;

 

위 예시에서 first_name 열은 '이름'이라는 별명으로, last_name 열은 '성'이라는 별명으로 결과에 표시됩니다.

테이블 Alias 사용하기

테이블에 별명을 붙이면 특히 여러 테이블을 조인할 때 코드가 간결해집니다.

-- 테이블에 별명 붙이기
SELECT e.employee_id, e.first_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id;

 

위 예시에서 employees 테이블은 'e'로, departments 테이블은 'd'로 별명을 지정했습니다. 이렇게 하면 긴 테이블 이름을 반복해서 쓰지 않아도 됩니다. 

ORDER BY로 데이터 정렬하기

ORDER BY는 쿼리 결과를 특정 열을 기준으로 정렬하는 명령어입니다. 마치 학생들을 키 순서대로 줄 세우는 것처럼, 데이터를 원하는 순서대로 정렬할 수 있습니다.

기본 정렬 방법

-- 오름차순 정렬 (기본값)
SELECT employee_id, first_name, salary FROM employees ORDER BY salary;

-- 내림차순 정렬
SELECT employee_id, first_name, salary FROM employees ORDER BY salary DESC;

-- 여러 열로 정렬
SELECT employee_id, department_id, salary 
FROM employees 
ORDER BY department_id ASC, salary DESC;

 

위 예시에서 마지막 쿼리는 먼저 department_id를 오름차순으로 정렬하고, 같은 부서 내에서는 salary를 내림차순으로 정렬합니다.

열 번호로 정렬하기

SELECT 문에서 열의 위치 번호를 사용하여 정렬할 수도 있습니다. 첫 번째 열은 1번입니다.

-- 두 번째 열(first_name)을 기준으로 정렬
SELECT employee_id, first_name, hire_date FROM employees ORDER BY 2;

 

하지만 이 방식은 쿼리가 변경될 경우 오류가 발생할 수 있어 실무에서는 열 이름으로 정렬하는 것이 권장됩니다.

Alias를 사용한 정렬

ORDER BY 절에서 별명(Alias)을 사용하여 정렬할 수도 있습니다.

SELECT employee_id, first_name AS 이름, salary * 12 AS 연봉
FROM employees
ORDER BY 연봉 DESC;

 

위 예시에서는 '연봉'이라는 별명을 가진 계산된 열을 기준으로 내림차순 정렬합니다.

Alias와 ORDER BY 함께 활용하기

Alias와 ORDER BY를 함께 사용하면 더 직관적인 쿼리를 작성할 수 있습니다.

-- 부서별 평균 급여를 계산하고 평균 급여 순으로 정렬
SELECT d.department_name AS 부서명, 
       AVG(e.salary) AS 평균급여
FROM employees e
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name
ORDER BY 평균급여 DESC;

 

위 쿼리는 각 부서의 평균 급여를 계산하고, '평균급여'라는 별명을 사용하여 높은 순서대로 정렬합니다.

'BOOK' 카테고리의 다른 글

[Do it SQL] Chapter 05-3  (0) 2025.03.25
[Do it SQL] Chapter 05-1/ 05-2  (2) 2025.03.24
[Do it SQL] Chapter 04-3 / 04-4  (0) 2025.03.20
[Do it SQL] Chapter 04-2  (0) 2025.03.19
[Do it SQL] Chapter 01-2  (2) 2025.03.14