Articles

SQL:연합자

를 들어-서로 다른 필드 이름

그것은 필요하지 않습 해당하는 열에서 각각의 선택 문 동일한 이름이지만,그들은 동일해야 합 해당 데이터 유형이 있습니다.

SELECT 문 사이에 동일한 열 이름이 없으면 특히 ORDER BY 절을 사용하여 쿼리의 결과를 주문하려는 경우 약간 까다로워집니다.

다른 열 이름을 가진 UNION 연산자를 사용하고 쿼리 결과를 정렬하는 방법을 살펴 보겠습니다.,

예를 들어,

SELECT supplier_id, supplier_nameFROM suppliersWHERE supplier_id > 2000UNIONSELECT company_id, company_nameFROM companiesWHERE company_id > 1000ORDER BY 1;

이 SQL UNION 를 들어,이후 열 이름을 사이에 다른 두 개의 선택 문는 것이 더 유리한 참조는 열에서 주문 절에 의해에서의 위치 결과를 설정합니다. 이 예에서는ORDER BY 1로 표시된대로 supplier_id/company_id 별 결과를 오름차순으로 정렬했습니다. Supplier_id/company_id 필드는 결과 집합의 위치#1 에 있습니다.

자,이 예제를 데이터로 더 살펴 보겠습니다.,p>

SELECT supplier_id, supplier_nameFROM suppliersWHERE supplier_id > 2000UNIONSELECT company_id, company_nameFROM companiesWHERE company_id > 1000ORDER BY 1;

을 다음과 같은 결과를 얻을 수 있습니다:

supplier_id supplier_name
3000 애플
4000 삼성
7000 Sony
8000 IBM

첫째, 알 수 있는 레코드와 함께 supplier_id3000 한 번만 나에서 결과로 설정하기 때문에 유니온 쿼리 제거 중복 항목이 있습니다.,

둘째,결과 집합의 열 제목을 supplier_id 및 supplier_name 이라고합니다. 이는 유니온에서 첫 번째 SELECT 문에 사용 된 열 이름 이었기 때문입니다.

경우고 싶어했고,당신이 할 수 있는 별칭을 열을 다음과 같다:

SELECT supplier_id AS ID_Value, supplier_name AS Name_ValueFROM suppliersWHERE supplier_id > 2000UNIONSELECT company_id AS ID_Value, company_name AS Name_ValueFROM companiesWHERE company_id > 1000ORDER BY 1;

이제 열 머리글에서 결과는 별칭으로 ID_Value 을 위한 첫 번째 열고 Name_Value 두 번째 열에 있습니다.,

ID_Value Name_Value
3000 Apple
4000 Samsung
7000 Sony
8000 IBM