logo

SQL의 별칭

SQL에서 별칭은 쿼리를 더 쉽게 읽고 쓸 수 있도록 열이나 테이블에 부여되는 임시 이름입니다. 데이터베이스의 실제 이름은 변경되지 않으며 해당 쿼리 기간 동안에만 존재합니다.

  • 길거나 복잡한 이름을 읽기 쉽게 만드세요.
  • 조인 및 하위 쿼리 단순화
  • 결과 세트의 명확성 향상
  • 다중 테이블 쿼리에서 이름 충돌 방지

SQL에는 두 가지 유형의 별칭이 있습니다.

  • 열 별칭: 결과 집합에 있는 열의 임시 이름입니다.
  • 테이블 별칭: 쿼리 내에서 사용되는 테이블의 임시 이름입니다.

SQL 별칭의 예

우리는 다음을 사용할 것입니다Customer모든 SQL 별칭 개념을 보여주는 표입니다. 이 테이블에는 ID 이름 국가 나이 및 전화번호와 같은 고객 정보가 포함됩니다.

CREATE TABLE Customer (  
CustomerID INT PRIMARY KEY
CustomerName VARCHAR(50)
LastName VARCHAR(50)
Country VARCHAR(50)
Age INT
Phone VARCHAR(15)
);

-- Inserting sample data into the Customer table
INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone)
VALUES
(1 'Shubham' 'Thakur' 'India' 23 '9876543210')
(2 'Aman' 'Chopra' 'Australia' 21 '9876543211')
(3 'Naveen' 'Tulasi' 'Sri Lanka' 24 '9876543212')
(4 'Aditya' 'Arpan' 'Austria' 21 '9876543213')
(5 'Nishant' 'Jain' 'Spain' 22 '9876543214');

산출:



고객ID고객 이름국가나이핸드폰
1의심타쿠르인도239876543210
2안전한초프라호주219876543211
3나빈툴라시스리랑카249876543212
4아디트야아르판오스트리아219876543213
5니샨트자이나교스페인229876543214

1. 열 별칭

열 별칭은 쿼리 출력을 위해 열 이름을 바꾸는 데 사용됩니다. 다음과 같은 경우에 유용합니다.

  • 집계 데이터 표시
  • 결과를 더 읽기 쉽게 만들기
  • 계산 수행

통사론:

SELECT column_name AS alias_name  
FROM table_name;

다음 표에서는 인수에 대해 자세히 설명합니다.

  • 열_이름: 별칭 이름을 생성할 열입니다.
  • 별칭_이름: 열이나 테이블에 할당할 임시 이름입니다. 
  • 처럼: 선택 사항입니다. 지정하지 않으면 쿼리 실행에 아무런 영향이 없습니다. 

예 1: 열 이름 바꾸기를 위한 열 별칭

CustomerID를 가져와서 결과 집합에서 id로 이름을 바꾸려면

SELECT CustomerID AS id  
FROM Customer;

산출:

ID
1
2
3
4
5

2. 테이블 별칭

테이블 별칭은 쿼리 기간 동안 테이블에 임시 이름을 지정하려는 경우에 사용됩니다. 테이블 별칭은 JOIN 작업에서 특히 동일한 테이블이 여러 번 참조되는 경우(예: 셀프 조인) 쿼리를 단순화하는 데 유용합니다.

예 2: 테이블 조인을 위한 테이블 별칭

동일한 국가에 있고 21세인 고객을 찾기 위해 Customer 테이블 자체를 조인하려고 합니다. Customer 테이블의 각 인스턴스에 대해 테이블 ​​별칭을 사용합니다.

질문:

SELECT c1.CustomerName c1.Country  
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;

산출:

고객 이름국가
의심인도
안전한호주
나빈스리랑카
아디트야오스트리아
니샨트스페인

여기서 c1과 c2는 Customer 테이블의 두 인스턴스에 대한 별칭입니다.

열과 테이블 별칭 결합

우리는 21세 이상의 고객을 가져와 더 명확하게 하기 위해 열 이름을 바꾸고 싶습니다. 테이블 별칭과 열 별칭을 모두 사용하겠습니다.

질문:

유닉스 디렉토리 생성
SELECT c.CustomerName AS Name c.Country AS Location  
FROM Customer AS c
WHERE c.Age >= 21;

산출:

이름위치
의심인도
안전한호주
나빈스리랑카
아디트야오스트리아
니샨트스페인

SQL 별칭의 실제 사용

  • 더 나은 가독성: 복잡한 이름을 더 짧고 이해하기 쉽게 만듭니다.
  • 쿼리 단순화: 특히 조인에서 반복이 줄어듭니다.
  • 출력 지우기: 보다 의미 있는 결과를 위해 열 이름을 바꿉니다.
  • 충돌 방지: 다중 테이블 쿼리에서 이름 지정 충돌을 방지합니다.
퀴즈 만들기