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 리소스에 이르기까지 모든 것을 다룹니다.