Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL

SQL 별칭:완전한 가이드

SQL 별칭은 테이블 또는 열에 대한 참조 이름입니다. 긴 테이블 이름이 있는 경우 쿼리를 줄이는 데 사용됩니다. 테이블 및 열 별칭은 모두 AS 키워드를 사용하여 정의됩니다. 별칭은 쿼리가 실행될 때까지 지속됩니다. 별칭은 영구적이지 않습니다.

복잡한 쿼리에서 긴 열 또는 테이블 이름을 작성하는 데 지친 적이 있습니까? SQL에 대해 더 많이 배울 때 발생합니다. 여기에서 별칭이 구출됩니다. 별칭은 검색어를 줄이는 데 도움이 됩니다.

이 가이드에서는 SQL 별칭이 무엇이고 사용되는 이유에 대해 설명합니다. SQL 별칭을 사용하는 방법을 이해하는 데 도움이 되도록 별칭이 작동하는 두 가지 시나리오를 살펴봅니다. 더 이상 고민하지 않고 시작하겠습니다!

참고:이 튜토리얼은 PostgreSQL을 사용하여 작성되었습니다.

SQL 별칭이란 무엇입니까?

SQL 별칭은 사람의 별칭과 같습니다. SQL 별칭은 테이블 또는 테이블의 열에 자리 표시자 이름을 할당합니다. 별칭은 쿼리와 결과를 더 읽기 쉽고 해석하기 쉽게 만들기 때문에 유용합니다.

좋은 별칭은 가능한 한 빨리 이해할 수 있는 별칭입니다.

별칭 n name이라는 열을 설명하는 것은 혼란스러울 수 있습니다. number_of_products.라는 열도 있는 경우 둘 다 문자 n으로 시작합니다. .

fn 전체 이름에서 각 단어의 첫 글자를 사용하기 때문에 더 적절할 수 있습니다. . 이 별칭은 혼동을 일으킬 가능성이 적습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

SQL 쿼리는 자신뿐만 아니라 다른 사람도 사용할 수 있음을 기억하십시오. 모든 독자가 최대한 직관적으로 쿼리할 수 있도록 모든 노력을 기울여야 합니다.

SQL 별칭:열

열 이름에 별칭을 사용합니다. 열 이름 별칭을 사용하면 쿼리 출력에서 ​​열 이름을 변경할 수 있습니다.

예제 데이터베이스에서 두 개의 테이블을 살펴보겠습니다. 이러한 데이터베이스를 직원이라고 합니다. 및 가지 .

직원
가지
이름 제목 branch_id 급여
branch_id 지점 이름
제프 시니어 영업 직원 1 38000
1 샌프란시스코
아담 시니어 영업 직원 2 38000
2 캠브리지
엠마 마케팅 임원 2 50000
3 로스앤젤레스
루크 마케팅 도우미 3 32000


직원 테이블에는 4개의 열과 4개의 행이 있습니다. 가지 테이블에는 2개의 열과 3개의 행이 있습니다.

각 지점에서 얻은 가장 높은 급여를 알려주는 SQL SELECT 문을 작성해 보겠습니다.

SELECT branches.branch_name, MAX(employees.salary)
FROM employees LEFT JOIN branches
ON employees.branch_id = branches.branch_id
GROUP BY branches.branch_name;

MAX() SQL 집계 함수를 사용하여 "employees" 테이블의 "salary" 열에서 가장 높은 값을 선택합니다. 우리는 SQLLEFT JOIN 문을 사용하여 "branches" 및 "employees" 테이블을 함께 연결합니다. 이를 통해 각 분기의 반환을 확인할 수 있습니다.

쿼리가 반환하는 내용을 살펴보겠습니다.

branch_name 최대
샌프란시스코 38000
로스앤젤레스 32000
캠브리지 50000

쿼리가 작동합니다. 쿼리의 제목 이름은 매우 직관적이지 않습니다. 이것을 작성하지 않는 사람에게는 "max"라는 검색어가 혼동될 수 있습니다.

열 별칭 이름을 지정하여 이 문제를 해결합니다.

SELECT branches.branch_name AS "Branch Name", MAX(employees.salary) as "Highest Salary"
FROM employees LEFT JOIN branches
ON employees.branch_id = branches.branch_id
GROUP BY branches.branch_name;

두 개의 별칭을 지정합니다. "branch_name"은 "Branch Name"이라는 별칭을 얻습니다. MAX() 집계 함수는 "Highest Salary"라는 별칭을 얻습니다. 쿼리를 다시 실행해 보겠습니다.

지점 이름 최고 급여
샌프란시스코 38000
로스앤젤레스 32000
캠브리지 50000

쿼리에 의해 반환되는 행은 동일합니다. 테이블 제목이 변경됩니다. 이제 "branch_name"은 "지점 이름"이고 "max"는 "최고 급여"입니다.

SQL 별칭:테이블

테이블에 SQL 별칭을 정의할 수 있습니다. 이것은 쿼리에서 테이블을 여러 번 참조하려는 경우에 유용합니다. 이러한 이벤트는 종종 더 복잡한 쿼리에서 발생합니다.

여러 테이블을 쿼리할 때 열 이름 앞에 각 테이블 이름을 지정해야 합니다. 테이블과 열 이름은 마침표(.)로 구분됩니다. 이렇게 하면 SQL이 쿼리에서 각 문이 참조하는 테이블을 정확히 알 수 있습니다.

이 기능은 쿼리를 모호하게 만드는 것을 방지하지만 가독성이 떨어집니다. 따라서 별칭을 이해하기가 너무 어렵지 않은지 확인해야 합니다.

모든 직원의 이름과 함께 일하는 지점 이름을 반환하는 쿼리를 작성해 보겠습니다.

SELECT employees.name, branches.branch_name
FROM employees LEFT JOIN branches
ON employees.branch_id = branches.branch_id;

쿼리 결과:

이름 branch_name
제프 샌프란시스코
아담 캠브리지
엠마 캠브리지
루크 로스앤젤레스

직원과 지점이라는 두 개의 테이블을 쿼리합니다. LEFT JOIN을 사용하여 두 테이블의 "branch_id" 값을 연결합니다. 이를 통해 직원이 연결된 각 지점의 이름을 볼 수 있습니다.

쿼리가 상당히 깁니다. 우리는 "직원"과 "지점"이라는 단어를 두 번 반복합니다. 더 긴 쿼리에서는 이러한 단어를 더 많이 사용해야 합니다.

쿼리를 더 짧게 만들기 위해 별칭을 사용합니다. SQL 쿼리에서 별칭으로 테이블 이름을 생성하려면 AS 키워드를 사용해야 합니다.

SELECT e.name, b.branch_name
FROM employees AS e LEFT JOIN branches AS b
ON e.branch_id = b.branch_id;

이 쿼리는 첫 번째 쿼리와 동일한 출력을 반환합니다.

두 개의 별칭을 할당합니다.

  • "직원"은 "직원"입니다.
  • "가지"는 "br"입니다.

em을 언급할 때마다 또는 br 쿼리에서 SQL은 마치 "직원"과 "지점"을 각각 참조하는 것처럼 취급합니다. 테이블 별칭을 사용하면 SQL 문에서 반복되는 양을 줄일 수 있습니다.

결론

SQL 별칭은 열이나 테이블의 대체 이름입니다. 별칭은 쿼리별로 다릅니다. 즉, 별칭을 재정의하지 않고는 한 쿼리의 별칭을 다른 쿼리에서 사용할 수 없습니다. 별칭은 AS 키워드를 사용하여 설정됩니다.

SQL에 대해 더 알고 싶으십니까? SQL 학습 방법 가이드를 확인하십시오. 이 종합 가이드는 고려해야 할 과정부터 유용한 온라인 SQL 리소스에 이르기까지 모든 것을 다룹니다.